Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Roberto_S_Luz

[Resolvido] Backup em Servidor Web

Recommended Posts

E aí galera...beleza...

 

Bom..aqui venho eu mais uma vez encher as paciências de você's...rss

 

Bom...a dúvida é a seguinte.

 

Tenho um sistema que roda localmente, até aí tudo bem.

Porém, irei hospedá-lo em um servidor web (UOLHOST), então diante de tal proeza, surgiu a seguinte dúvida: Como posso fazer o beckup's dos arquivos contidos naquele servirdor, sendo que..não só a aplicação mais também a base de dados estará hospedada na web.

 

Como posso fazer com que...o cliente, a partir do pc dele(seja em casa ou na empresa/loja) possa fazer o backup da base de dados contida no servidor web?

 

Bom...isso pode ser algo bem simples, porém...eu ainda não trabalhei com sistemas hospedados, então...como surgiu essa oportunidade, junto com ela surgiu tais dúvidas, se alguem puder me ajudar com alguma sugestão...ficarei bastante grato.

 

Desde já....obrigado à todos!!!

Abraços... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser implementar a rotina de backup dentro da sua aplicação, você pode usar essa função que desenvolvi para backup´s:

<?php
   header('Pragma: no-cache');#No cache, ou seja, não guarda cache, pois é gerado dinamicamente
   ini_set('memory_limit','128M');
   date_default_timezone_set('America/Sao_Paulo');
   include('../includes/conexao.php');
   $arquivo=date('YmdHi');
   $file = fopen($arquivo.'.sql','w'); 
   $query1 = 'SHOW TABLES';
   $resultado1 = mysql_query($query1, $conexao);
   while ($item1 = mysql_fetch_array($resultado1))
      {
      echo $item1[0],'<br>'.chr(13);
      $query2 = 'SHOW CREATE TABLE '.$item1[0];
      $resultado2 = mysql_query($query2, $conexao);
      $item2 = mysql_fetch_array($resultado2);
      fwrite($file,$item2[1].';'.chr(13));
      $query3 = 'SELECT * FROM '.$item1[0];
      $resultado3 = mysql_query($query3, $conexao);
      $sql='INSERT INTO '.$item1[0].' VALUES'.chr(13);
      while ($item3 = mysql_fetch_row($resultado3))
         {
         $aux='';
         for ($x=0;$x<count($item3);$x++)
            {
            $item3[$x]=str_replace("\'","'",$item3[$x]); //Para evitar erros na inclusão de campos com aspas simples (')
            $item3[$x]=str_replace("'","\'",$item3[$x]);
            if (substr($item3[$x],strlen($item3[$x])-1,strlen($item3[$x]))=="\\") //Verifica se tem a barra no final do texto, para não acontecer de ficar \', pois daria erro ao importar no MySql
               $item3[$x]=str_replace("\\","\\\\",$item3[$x]);
            $aux.="'".$item3[$x]."',";
            }
         $aux='('.substr($aux,0,strlen($aux)-1).'),'.chr(13);
         if (strlen($sql)+strlen($aux)>51250)
            {
            $sql=substr($sql,0,strlen($sql)-2).';'.chr(13);
            fwrite($file,$sql);
            $sql='INSERT INTO '.$item1[0].' VALUES'.chr(13);
            }
         $sql.= $aux;
         }
      if (mysql_num_rows($resultado3)>0)
         {
         $sql=substr($sql,0,strlen($sql)-2).';'.chr(13);
         fwrite($file,$sql);
         }
      }
   fclose($file);
   chmod($arquivo.'.sql',0777);
   if (extension_loaded('zip'))
      {
      echo 'Zipando...';
      $zip = new ZipArchive();
      $zip->open($arquivo.'.zip',ZIPARCHIVE::OVERWRITE);
      $zip->addfile($arquivo.'.sql');
      $zip->close();
      if (file_exists($arquivo.'.zip'))
         unlink($arquivo.'.sql');
      echo ' - Ok',chr(10);
      }
?>
O sistema cria um arquivo sql no diretório. Depois se o usuário quiser você pode adaptar para ele fazer o download do arquivo para ter um backup armazenado localmente.

 

Qualquer dúvida posta aí!

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí João Batista Neto e Shrek-BH beleza...

Desde já...desculpe pela demora em responder ok...e obrigado pela atenção a este tópico.

 

Vou testar ambas as dicas certo, e logo mais...postarei meus comentários sobre os mesmos ok.

 

Obrigado meus amigos.

 

Abraços... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.