Skip to content

Instantly share code, notes, and snippets.

@bee-ti
Last active August 8, 2018 22:42
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save bee-ti/6996a6e8f7306659d820 to your computer and use it in GitHub Desktop.
Save bee-ti/6996a6e8f7306659d820 to your computer and use it in GitHub Desktop.
Auto backup do banco de dados mysql em php
<?php
$usuario = filter_input(INPUT_GET, "user", FILTER_SANITIZE_ENCODED);
$senha = filter_input(INPUT_GET, "pass", FILTER_SANITIZE_ENCODED);
if((!$usuario || !$senha) || ($usuario!='admin' || $senha!='1234567')){
echo '<h2>Você não tem premissão para acessar esta página.</h2>'; exit();
}
ini_set('memory_limit', '1024M');
set_time_limit(0);
$nome_servidor = "Cereais Silva";
$User_Agent = PHP_OS;
if (ereg("Mac", $User_Agent) || ereg("X11", $User_Agent) || ereg("Darwin", $User_Agent) || ereg("Linux", $User_Agent)) {
$mysqldump = '/usr/local/mysql/bin/mysqldump';
$dir = "/users/felipe/Dropbox";
$deletefile = "rm -f $dir/";
$zip = "tar -czf";
$ext = ".tag.gz";
} else {
$mysqldump = 'mysqldump';
$dir = "C:/Users/felipe/Dropbox";
$deletefile = "del C:\Users\felipe\Dropbox\\";
$zip = "cd c:/arquiv~1/winrar&rar a -m5";
$ext = ".rar";
}
$host = "localhost"; // host do banco
$user = "root"; // usuário do banco
$senha = "#2013beeti"; // senha do banco
$db = 'silva';
$msg[0] = "---------------------------------------------------------------\n";
$msg[1] = "<h3>Processamento de backup do servidor $nome_servidor</h3>\n";
$msg[2] = "Conectando ao banco... ";
$msg[3] = "*** ERRO *** Impossivel conectar ao banco!\n";
$msg[4] = "Realizando backup do banco...\n";
$msg[5] = "\tBACKUP Completo!\n";
$msg[6] = "*** ERRO *** Nao foi possivel realizar o backup!\n";
$msg[7] = "Compactando backup...\n";
$msg[8] = "Excluindo arquivos temporarios... ";
$msg[9] = "\n\Compactação concluída!\n";
$msg[10] = "*** ERRO *** Nao foi possivel compactar o backup.\n";
$msg[11] = "*** ERRO *** Nao foi possivel excluir os arquivos temporarios.\n";
echo '<pre>';
shell_exec("clear");
echo $msg[0];
echo $msg[1];
echo $msg[0];
// conectando ao banco
echo $msg[2];
$dbc = mysql_connect($host, $user, $senha);
if ($dbc) {
echo("\tOK!\n");
} else {
echo $msg[3];
$erro = "echo $data - $msg[3] > $dir/erro.log";
shell_exec($erro);
exit();
}
// fazendo backup
echo $msg[0];
echo $msg[4];
$nome = $row[0];
echo ("$db\t\t=");
$arquivo = $db . "_" . date("d-m-Y_H.i.s").'.sql';
$comando = "$mysqldump --host=$host --user=$user --password=$senha --databases $db > $dir/$arquivo";
function terminal($command) {
if (function_exists('system')) { //system
ob_start();
system($command, $return_var);
$output = ob_get_contents();
ob_end_clean();
} else if (function_exists('passthru')) {//passthru
ob_start();
passthru($command, $return_var);
$output = ob_get_contents();
ob_end_clean();
} else if (function_exists('exec')) {//exec
exec($command, $output, $return_var);
$output = implode("n", $output);
} else if (function_exists('shell_exec')) {//shell_exec
$output = shell_exec($command);
} else {
$return_var = 1;
}
return $return_var;
}
if (terminal($comando) != 1) {
echo $msg[5];
} else {
echo $msg[6];
$erro = "echo $data - $msg[6] > erro.log";
shell_exec($erro);
}
// criar pacote com todos os arquivos .sql
echo $msg[0]; echo $msg[7];
$comando = $zip." $dir/$arquivo$ext $dir/$arquivo";
if(terminal($comando)!=1){
echo $msg[9];
} else {
echo $msg[10];
$erro="echo $data - $msg[10] > $dir/erro.log";
shell_exec($erro);
}
// apagar arquivos .sql
echo $msg[0]; echo $msg[8];
$comando = $deletefile.$arquivo;
if(terminal($comando)!=1){
echo("OK!\n");
} else {
echo $msg[11];
$erro="echo $data - $msg[11] > $dir/erro.log";
shell_exec($erro);
exit();
}
echo $msg[0];
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment