Jump to content


Photo

Backup Do Bd


  • Faça o login para participar
6 replies to this topic

#1 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 09/01/2006, 07:28

Nome: Backup do BD
Funcionalidade: Script que gera um arquivo de backup do banco de dados em questão. Ele gera um arquivo com os comandos sql CREATE TABLE e INSERT INTO.
Comentário: No caso eu fiz com que o nome do arquivo .sql seja gerado de acordo com a data ($fnome), sendo também por ( sua conta ) possível associá-lo a um sitema "automatico" de backup, por dia por exemplo.

----------------------------------------------------------

<?
$db = "bdnome";
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db($db) or die(mysql_error());

$fnome = date("d-m-Y");
$arq = fopen("$fnome.sql","w"); // abre um arquivo .sql, se não existir, o cria.

$res = mysql_list_tables($db) or die(mysql_error()); // lista todas as tabelas da base de dados.
while ($row = mysql_fetch_row($res)) {
  $tb = $row[0]; // cada uma das tabelas
  $res2 = mysql_query("SHOW CREATE TABLE $tb");
  while ( $lin = mysql_fetch_row($res2)){ // loop pra cada tabela
   fwrite($arq,"-- Criando a tabela : $tb\n\n");
   fwrite($arq,"$lin[1];\n\n-- Extraindo os dados da tabela `$tb`\n\n");
   $res3 = mysql_query("SELECT * FROM $tb");
  while($r=mysql_fetch_row($res3)){ // loop de todos os dados da respectiva tabela
   $sql="INSERT INTO $tb VALUES ('";
   $sql .= implode("','",$r);
   $sql .= "');\n";
   fwrite($arq,$sql);
  }
  }
}
fclose($arq);
?>
Até mais

Edição feita por: Frenesi, 16/03/2006, 13:10.

Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#2 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 23/01/2007, 15:29

Acho que o nome do arquivo deveria ser gerado também com a hora pro caso de alguém precisar fazer um backup de manhã, a tarde e outro anoite.

Já aconteceu várias vezes de alguém fazer alguma mudança errada fazer o backup e depois outra pessoa vai e corrige o erro algum tempo depois restaura-se o backup e o erro continua lá pois estava no backup.
$fnome = date("d-m-Y_H_m_s");
é recomendado não colocar os ":" pra separar hora/segundo pois o arquivo fica ilegivel

Falopa!

#3 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 23/01/2007, 16:04

O meu site tem um sistema de backup.
Eu fiz como o Hostdesign disse:

Eu criei uma função que cria caracteres randômicos, depois ele coloca a data com doa, m, ano, hora, minuto, segundo.

Assim nunca terá erro. :D

Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 23/01/2007, 16:16

Pois é, boas sugestões! :)

Como eu disse, o nome fica à gosto do "cliente".

Flws...
(ok2) Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 MastersRoX

MastersRoX

    EDITADO

  • Banidos
  • PipPipPipPipPipPipPipPip
  • 774 posts
  • Sexo:Não informado

Posted 31/01/2007, 12:21

aki deu erro!

Warning: fopen(31-01-2007_13_01_11_citi.sql): failed to open stream: Permission denied
linha: $arq = fopen("$fnome$nome.sql","w"); // abre um arquivo .sql, se não existir, o cria

e

Warning: fwrite(): supplied argument is not a valid stream resource
fwrite($arq,$sql);

coloquei permissao 777 no arquivo .php .. mas n foi tbm!

#6 bmamone

bmamone

    bmamone.com

  • Usuários
  • 374 posts
  • Sexo:Não informado
  • Localidade:São Paulo - Brasil
  • Interesses:Meus interesses lhe interessam? Não é interessante se interessar por meus interesses!

Posted 31/01/2007, 12:38

Dá 777 no diretório :)

E reza, rs!



Abraços (ok2)
bmamone ~

Vem aí aquilo o que você não sabe o que é.
Mas vai gostar.
Ou não.

#7 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 31/01/2007, 13:35

Lembrando que o correto é 0777 ao invés de 777

Falopa!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq