Jump to content


Photo

Como Fazer Backup De Um Script Php


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

#1 idn

idn

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 24/10/2004, 15:03

Olá. Estou com uma dúvida. Por exemplo, se eu utilizo um sistema de gerenciamento de banners (phpAdsNew) e um gerenciador de notícias (mznews) e quero fazer um backup dos banners ou notícias que eu já inseri. Como faço esse backup?

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! (y)
[ IDN :: Indicações - Dicas - Notícias (www.clickws.com) ] ||| [ InfotecWEB - Informações na WEB ]
----------------------------------------------------------------------------------------------------------------
Procurando Colunistas, para o site: www.clickws.com
* Saiba mais *

#2 idn

idn

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 26/10/2004, 19:16

Então, alguém poderia me dizer como faço?

Pois estou precisando muito fazer um backup de segurança do que eu já coloquei nesses scripts, pois já coloquei bastante coisa.

Obrigado.
[ IDN :: Indicações - Dicas - Notícias (www.clickws.com) ] ||| [ InfotecWEB - Informações na WEB ]
----------------------------------------------------------------------------------------------------------------
Procurando Colunistas, para o site: www.clickws.com
* Saiba mais *

#3 Adailton

Adailton

    12 Horas

  • Usuários
  • 135 posts
  • Sexo:Não informado

Posted 27/10/2004, 09:50

Se vc tiver acesso ao servidor mysql (direto ou ssh) execute o comando dump

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 idn

idn

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 27/10/2004, 18:20

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.
[ IDN :: Indicações - Dicas - Notícias (www.clickws.com) ] ||| [ InfotecWEB - Informações na WEB ]
----------------------------------------------------------------------------------------------------------------
Procurando Colunistas, para o site: www.clickws.com
* Saiba mais *

#5 jaraujo

jaraujo

    12 Horas

  • Banidos
  • PipPipPip
  • 162 posts
  • Sexo:Não informado

Posted 27/10/2004, 19:51

idn (y)

Veja e copie o final:

http://forum.wmonlin...=0

Edição feita por: jaraujo, 27/10/2004, 19:53.


#6 Adailton

Adailton

    12 Horas

  • Usuários
  • 135 posts
  • Sexo:Não informado

Posted 28/10/2004, 08:41

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.

Ta ai o arquivo.

Quaquer duvida posta

Attached Files



#7 carlosrms

carlosrms

    Turista

  • Usuários
  • 47 posts
  • Sexo:Não informado

Posted 28/10/2004, 19:17

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.

#8 Adailton

Adailton

    12 Horas

  • Usuários
  • 135 posts
  • Sexo:Não informado

Posted 29/10/2004, 10:12

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.

Basicamente é só dar chmod 755 nos arquivos, chmod 777 no arquivo dbinfo.php e na pasta para qual vai o dump.
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 Adailton

Adailton

    12 Horas

  • Usuários
  • 135 posts
  • Sexo:Não informado

Posted 29/10/2004, 10:27

Tem uma versão nova deste script em

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 jaraujo

jaraujo

    12 Horas

  • Banidos
  • PipPipPip
  • 162 posts
  • Sexo:Não informado

Posted 29/10/2004, 17:55

Colega idn :wacko:

Veja aqui como você deve fazer para resolver seu problema: :angry:

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 :blink:

Para cada base de dados você deve criar outras pastas/diretorios com o nome "copia1", "copia2" ou "bd_do_site_da_minha_tia", etc... :D

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! (y)

Manda noticias dizendo como foi :wacko:

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 carlosrms

carlosrms

    Turista

  • Usuários
  • 47 posts
  • Sexo:Não informado

Posted 29/10/2004, 19:05

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.

Basicamente é só dar chmod 755 nos arquivos, chmod 777 no arquivo dbinfo.php e na pasta para qual vai o dump.
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.

Olá. ok. Fiz exatamente como você falou.
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. (y)

#12 Adailton

Adailton

    12 Horas

  • Usuários
  • 135 posts
  • Sexo:Não informado

Posted 30/10/2004, 08:14

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.

Basicamente é só dar chmod 755 nos arquivos, chmod 777 no arquivo dbinfo.php e na pasta para qual vai o dump.
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.

Olá. ok. Fiz exatamente como você falou.
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. (y)

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.


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 carlosrms

carlosrms

    Turista

  • Usuários
  • 47 posts
  • Sexo:Não informado

Posted 30/10/2004, 15:14

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.

#14 Adailton

Adailton

    12 Horas

  • Usuários
  • 135 posts
  • Sexo:Não informado

Posted 01/11/2004, 11:00

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.

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.

Falou, tchau

Adailton

#15 carlosrms

carlosrms

    Turista

  • Usuários
  • 47 posts
  • Sexo:Não informado

Posted 02/11/2004, 11:37

Adailton, vi o phpMyadmin. Tem em meu host, e já acessei para ver...
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.




0 user(s) are reading this topic

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

IPB Skin By Virteq