Como Fazer Backup De Um Script Php
#1
Posted 24/10/2004, 15:03
E após eu fazer esse backup, vou deixar salvo no computador certo? E se um dia eu precisar mudar de host ou meu host de hospedagem fechar por exemplo, como utilizo este backup para voltar ao normal sem precisar inserir tudo de novo?
Obrigado!
----------------------------------------------------------------------------------------------------------------
Procurando Colunistas, para o site: www.clickws.com
* Saiba mais *
#2
Posted 26/10/2004, 19:16
Pois estou precisando muito fazer um backup de segurança do que eu já coloquei nesses scripts, pois já coloquei bastante coisa.
Obrigado.
----------------------------------------------------------------------------------------------------------------
Procurando Colunistas, para o site: www.clickws.com
* Saiba mais *
#3
Posted 27/10/2004, 09:50
mydump -h "HOST" -u "USUARIO" -p "NOME DO BD" > SEU_BACKUP.SQL
ele criara um arquivo .sql com toda a estrutura e dados inseridos ai vc faz um upload e restaura quando necessario.
Para usar este comando e necessario vc ter acesso ao SERVIDOR.
Existe um script bom para fazer backup no MySql via browser vou ver se acho e te mando.
Adailton
#4
Posted 27/10/2004, 18:20
Já entendi bem pela explicação, mas esse script seria pra facilitar bastante, caso você tenha e me passe esse script para fazer backup no MySQL via browser vou agradecer muito.
Obrigado.
----------------------------------------------------------------------------------------------------------------
Procurando Colunistas, para o site: www.clickws.com
* Saiba mais *
#5
Posted 27/10/2004, 19:51
#6
Posted 28/10/2004, 08:41
Ta ai o arquivo.ok. Obrigado pela explicação.
Já entendi bem pela explicação, mas esse script seria pra facilitar bastante, caso você tenha e me passe esse script para fazer backup no MySQL via browser vou agradecer muito.
Obrigado.
Quaquer duvida posta
Attached Files
#7
Posted 28/10/2004, 19:17
E após instalar o que devo fazer (se possível de me explicarem passo-a-passo) de como eu faço o backup do banco de dados MySQL e após eu fazer esse backup e o download desse backup para meu computador, se um dia eu tiver que mudar de servidor, como eu utilizo esse backup?
Obrigado.
#8
Posted 29/10/2004, 10:12
Basicamente é só dar chmod 755 nos arquivos, chmod 777 no arquivo dbinfo.php e na pasta para qual vai o dump.Olá. Eu peguei esse script que faz o backup do BD. Já transferi pro serv. Agora quero saber o que devo fazer? Dar chamod? Executar algum arquivo específico?
E após instalar o que devo fazer (se possível de me explicarem passo-a-passo) de como eu faço o backup do banco de dados MySQL e após eu fazer esse backup e o download desse backup para meu computador, se um dia eu tiver que mudar de servidor, como eu utilizo esse backup?
Obrigado.
Entre na url www.seusite.com.br/backuyp e preencha os campos com os dados do seu servidor MySql. Clique em recriar dbinfo.php para que na proxima vez que vc for fazer backup e mande direto para a pasta.
#9
Posted 29/10/2004, 10:27
http://www.absoft-my...dok/scripts.php
muito mais completa. Vc pode agora com esta versão escolher quais as tabelas deseja salvar. Se quer dados e estrutura ou somente estrutura.
#10
Posted 29/10/2004, 17:55
Veja aqui como você deve fazer para resolver seu problema:
1) Instale um servidor local no seu micro tipo Easy1-7
2) Crie ou coloque dentro da pasta "WWW" do Easy1-7 uma pasta/diretório com o nome de "copia"
3) Fica +/- assim: c:/easy1-7/www/copia
4) Dentro da pasta/diretório "copia" você vai colocar dois scripts um com o nome de "copia.php" e outro com o nome de "index.html"
Veja agora os scripts para você copiar:
copia.php
<?php $target="file"; if($target=="file") { header('Content-Type: application/octetstream'); header('Content-Disposition: filename="nome_da_base_de_dados.sql"'); $asfile="download"; } $crlf="\r\n"; $link = mysql_connect("localhost", "root", ""); $database = mysql_select_db("nome_da_base_de_dados"); $dbname = "nome_da_base_de_dados"; $dump_buffer=""; $tables = mysql_query("show tables from $dbname"); $num_tables = mysql_num_rows($tables); if($num_tables == 0) { echo "# No Tables Found"; exit; } $dump_buffer.= "# Nome do BD: $dbname.sql $crlf"; $dump_buffer.= "# ".date("j F, Y, g:i a")."$crlf"; $dump_buffer.= "# Copyright © Seu_nome $crlf"; $dump_buffer.= "# $crlf"; $i = 0; while($i < $num_tables) { $table = mysql_tablename($tables, $i); $dump_buffer.= "# --------------------------------------------------------$crlf"; $dump_buffer.= "# $crlf"; $dump_buffer.= "$crlf#$crlf"; $dump_buffer.= "# Estrutura da tabela '$table'$crlf"; $dump_buffer.= "#$crlf$crlf"; $db = $table; $dump_buffer.= get_table_def($table, $crlf,$dbname).";$crlf"; $dump_buffer.= "$crlf#$crlf"; $dump_buffer.= "# Dados extraidos da tabela '$table'$crlf"; $dump_buffer.= "#$crlf$crlf"; $tmp_buffer=""; get_table_content($dbname, $table, 0, 0, 'my_handler', $dbname); $dump_buffer.=$tmp_buffer; $i++; $dump_buffer.= "$crlf"; } echo $dump_buffer; exit; function get_table_def($table, $crlf,$dbname) { $schema_create = "DROP TABLE IF EXISTS $table;$crlf"; $db = $table; $schema_create .= "CREATE TABLE $table ($crlf"; $result = mysql_query("SHOW FIELDS FROM " .$dbname."." . $table) or die(); while($row = mysql_fetch_array($result)) { $schema_create .= " $row[Field] $row[Type]"; if(isset($row["Default"]) && (!empty($row["Default"]) || $row["Default"] == "0")) $schema_create .= " DEFAULT '$row[Default]'"; if($row["Null"] != "YES") $schema_create .= " NOT NULL"; if($row["Extra"] != "") $schema_create .= " $row[Extra]"; $schema_create .= ",$crlf"; } $schema_create = ereg_replace(",".$crlf."$", "", $schema_create); $result = mysql_query("SHOW KEYS FROM " .$dbname."." . $table) or die(); while($row = mysql_fetch_array($result)) { $kname=$row['Key_name']; $comment=(isset($row['Comment'])) ? $row['Comment'] : ''; $sub_part=(isset($row['Sub_part'])) ? $row['Sub_part'] : ''; if(($kname != "PRIMARY") && ($row['Non_unique'] == 0)) $kname="UNIQUE|$kname"; if($comment=="FULLTEXT") $kname="FULLTEXT|$kname"; if(!isset($index[$kname])) $index[$kname] = array(); if ($sub_part>1) $index[$kname][] = $row['Column_name'] . "(" . $sub_part . ")"; else $index[$kname][] = $row['Column_name']; } while(list($x, $columns) = @each($index)) { $schema_create .= ",$crlf"; if($x == "PRIMARY") $schema_create .= " PRIMARY KEY ("; elseif (substr($x,0,6) == "UNIQUE") $schema_create .= " UNIQUE " .substr($x,7)." ("; elseif (substr($x,0,8) == "FULLTEXT") $schema_create .= " FULLTEXT ".substr($x,9)." ("; else $schema_create .= " KEY $x ("; $schema_create .= implode($columns,", ") . ")"; } $schema_create .= "$crlf)"; if(get_magic_quotes_gpc()) { return (stripslashes($schema_create)); } else { return ($schema_create); } } function get_table_content($db, $table, $limit_from = 0, $limit_to = 0,$handler) { // Defines the offsets to use if ($limit_from > 0) { $limit_from--; } else { $limit_from = 0; } if ($limit_to > 0 && $limit_from >= 0) { $add_query = " LIMIT $limit_from, $limit_to"; } else { $add_query = ''; } get_table_content_fast($db, $table, $add_query,$handler); } function get_table_content_fast($db, $table, $add_query = '',$handler) { $result = mysql_query('SELECT * FROM ' . $db . '.' . $table . $add_query) or die(); if ($result != false) { @set_time_limit(1200); for ($j = 0; $j < mysql_num_fields($result); $j++) { $field_set[$j] = mysql_field_name($result, $j); $type = mysql_field_type($result, $j); if ($type == 'tinyint' || $type == 'smallint' || $type == 'mediumint' || $type == 'int' || $type == 'bigint' ||$type == 'timestamp') { $field_num[$j] = true; } else { $field_num[$j] = false; } } // end for // Get the scheme if (isset($GLOBALS['showcolumns'])) { $fields = implode(', ', $field_set); $schema_insert = "INSERT INTO $table ($fields) VALUES ("; } else { $schema_insert = "INSERT INTO $table VALUES ("; } $field_count = mysql_num_fields($result); $search = array("\x0a","\x0d","\x1a"); //\x08\\x09, not required $replace = array("\\n","\\r","\Z"); while ($row = mysql_fetch_row($result)) { for ($j = 0; $j < $field_count; $j++) { if (!isset($row[$j])) { $values[] = 'NULL'; } else if (!empty($row[$j])) { // a number if ($field_num[$j]) { $values[] = $row[$j]; } // a string else { $values[] = "'" . str_replace($search, $replace, addslashes($row[$j])) . "'"; } } else { $values[] = "''"; } // end if } // end for $insert_line = $schema_insert . implode(',', $values) . ')'; unset($values); // Call the handler $handler($insert_line); } // end while } // end if ($result != false) return true; } function my_handler($sql_insert) { global $crlf, $asfile; global $tmp_buffer; if(empty($asfile)) $tmp_buffer.= htmlspecialchars("$sql_insert;$crlf"); else $tmp_buffer.= "$sql_insert;$crlf"; } function faqe_db_error() { return mysql_error(); } function faqe_db_insert_id($result) { return mysql_insert_id($result); } ?>
Agora copie:
index.html
<html> <head> <title>Backup da base de dados: nome_da_base_de_dados.sql</title> </head> <body> <table border="0" align="center" cellpadding="2" cellspacing="1" width="25%"> <tr bgcolor="CCCCCC"> <td align="center"><font face="verdana" size="1"><strong>Backup da base de dados: nome_da_base_de_dados.sql</strong></font> </tr> <tr> <td align="center" > <input type="button" value="Backup" name="nome_da_base_de_dados.sql" onclick="javascript:window.open('copia.php','_self')"> </tr> </table> </body> </html>
Encontre nos scripts "nome_da_base_de_dados.sql" e troque pelo nome de "sua base de dados".
Feito como explicado aqui você vai acertar para sempre a fazer uma copia de sua base de dados MySQL
Para cada base de dados você deve criar outras pastas/diretorios com o nome "copia1", "copia2" ou "bd_do_site_da_minha_tia", etc...
Assim quando você desejar copiar uma base de dados basta rodar seu servidor local conectar-se na rede e em seguida abrir o navegador e chamar:
http://localhost/copia/
Outra: configure sua conexão em copia.php:
$link = mysql_connect("localhost", "root", ""); $database = mysql_select_db("nome_da_base_de_dados");
Agora vamos ver se você entendeu!
Manda noticias dizendo como foi
Opa, não coloque "copia" no seu site! use apenas no seu servidor local
Não precisa de CHMOD em nada certo.
Quanto aos scripts php e html você cria no micro uma pasta correspondende ao nome do seu site e através de um programa de FTP vai copiando para a pasta do seu micro tudo do seu site!
Edição feita por: jaraujo, 29/10/2004, 18:12.
#11
Posted 29/10/2004, 19:05
Olá. ok. Fiz exatamente como você falou.Basicamente é só dar chmod 755 nos arquivos, chmod 777 no arquivo dbinfo.php e na pasta para qual vai o dump.Olá. Eu peguei esse script que faz o backup do BD. Já transferi pro serv. Agora quero saber o que devo fazer? Dar chamod? Executar algum arquivo específico?
E após instalar o que devo fazer (se possível de me explicarem passo-a-passo) de como eu faço o backup do banco de dados MySQL e após eu fazer esse backup e o download desse backup para meu computador, se um dia eu tiver que mudar de servidor, como eu utilizo esse backup?
Obrigado.
Entre na url www.seusite.com.br/backuyp e preencha os campos com os dados do seu servidor MySql. Clique em recriar dbinfo.php para que na proxima vez que vc for fazer backup e mande direto para a pasta.
E após eu fazer isso, aparece que o backup voi feito com sucesso e se encontra na pasta /dump
Mas procurei e não achei nada. O que devo fazer então?
E depois que eu tiver este backup se eu precisar restaurar, ainda não entendi o que eu devo fazer?
Obrigado.
E "jaraujo" , vi o que vc mostrou, mas vou preferir utilizar este script, pois já está quase dando certo, e é bem simples (e tb sou um pouco iniciante em php). ok?
Aguardo respostas.
#12
Posted 30/10/2004, 08:14
Desculpe. Faz a atualização no link. Na nova versão vc pode escolher as tabelas a serem salvas. Da uma olhada no arquivo leiame.Olá. ok. Fiz exatamente como você falou.
Basicamente é só dar chmod 755 nos arquivos, chmod 777 no arquivo dbinfo.php e na pasta para qual vai o dump.Olá. Eu peguei esse script que faz o backup do BD. Já transferi pro serv. Agora quero saber o que devo fazer? Dar chamod? Executar algum arquivo específico?
E após instalar o que devo fazer (se possível de me explicarem passo-a-passo) de como eu faço o backup do banco de dados MySQL e após eu fazer esse backup e o download desse backup para meu computador, se um dia eu tiver que mudar de servidor, como eu utilizo esse backup?
Obrigado.
Entre na url www.seusite.com.br/backuyp e preencha os campos com os dados do seu servidor MySql. Clique em recriar dbinfo.php para que na proxima vez que vc for fazer backup e mande direto para a pasta.
E após eu fazer isso, aparece que o backup voi feito com sucesso e se encontra na pasta /dump
Mas procurei e não achei nada. O que devo fazer então?
E depois que eu tiver este backup se eu precisar restaurar, ainda não entendi o que eu devo fazer?
Obrigado.
E "jaraujo" , vi o que vc mostrou, mas vou preferir utilizar este script, pois já está quase dando certo, e é bem simples (e tb sou um pouco iniciante em php). ok?
Aguardo respostas.
http://www.absoft-my...dok/scripts.php
Aplique chmod 777 na pasta dump
Não esqueça de verificar se o caminha da pasta para salvar esta correto, tipo
/home/seusite/www/backup
#13
Posted 30/10/2004, 15:14
Agora por exemplo, se um dia eu mudar de servidor, como faço para utilizar este backup?
Só isso mesmo que eu não entendi.
Obrigado.
#14
Posted 01/11/2004, 11:00
Utiliza um front do mysql - phpMyadmin é muito bom.Com ele vcx restaura as tabela que foram feitas backup.Ou utize o prorio script. Na pagina index.php ao inves de pedir para backup, utile restore informando as configurações de seu novo server.Ok. Agora funcionou. Consegui fazer o backup do bando de dados MySQL utilizando o script. Fui na pasta dump e esta o arquivo "backup.sql" .
Agora por exemplo, se um dia eu mudar de servidor, como faço para utilizar este backup?
Só isso mesmo que eu não entendi.
Obrigado.
Falou, tchau
Adailton
#15
Posted 02/11/2004, 11:37
Mas não sei como eu restaura as tabela. Em que lugar eu vou?
Pq eu abri o phpMyadmin e mostra todas as tabelas no banco de dados dos scripts php. E usando o script de backup eu já fiz o backup de todas as elas. Mas se um dia eu perder tudo isso em meu server... daí acesso o phpMyadmin e vou onde para inserir meu backup e restaurar as tabelas?
Desculpe mas sou um pouco novato.
Obrigado.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)