Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require '/PHPMailer/PHPMailerAutoload.php';
- ini_set('max_execution_time', 4 * 60);
- /***SUBSTITUA COM AS INFORMAÇÕES CORRETAS **/
- $host_mysql = "localhost";
- $database = 'database'; // NOME DO BANCO DE DADOS PARA FAZER DUMP
- $username = 'user_database'; // NOME DE UM USUÁRIO DO BANCO DE DADOS
- $password = 'senha_database'; // SENHA DO USÚARIO DO BANCO DE DADOS
- $source = "../"; // PASTA DE ORIGEM (NÃO PRECISA ALTERAR SE O BACKUP É DA PASTA RAIZ)
- $backup = "backup.zip"; // NOME DO ARQUIVO DE BACKUP (SE QUISER NÃO PRECISA ALTERAR)
- $dump = "dump.sql"; // NOME DO DUMP DO BANCO DE DADOS (SE QUISER NÃO PRECISA ALTERAR)
- $user_email = "user@gmail.com"; // EMAIL DA SUA CONTA DO GMAIL (USUÁRIO)
- $user_senha_email = "senha_email"; // SENHA DA CONTA DE EMAIL
- $destino1 = "destino1@hotmail.com"; // MUDE PARA O ENDEREÇO DO DESTINATARIO
- $destino2 = "destino2@hotmail.com"; // MUDE PARA O ENDEREÇO DO DESTINATARIO
- /**************************************************************************/
- function backup($source, $output)
- {
- $zip = new ZipArchive();
- if ($zip->open($output, ZIPARCHIVE::CREATE) !== TRUE)
- {
- throw new Exception("Nao foi possivel abrir o arquivo zip");
- }
- $all = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source));
- foreach ($all as $f=>$value)
- {
- if(!strcmp($f, '.')) continue;
- if(!strcmp($f, '..')) continue;
- $pos = strrpos($f, '\\'); // Windows
- if($pos)
- {
- $name = substr($f, $pos + 1);
- if(!strcmp($name, '.')) continue;
- if(!strcmp($name, '..')) continue;
- }
- $pos = strrpos($f, '/'); // Windows
- if($pos)
- {
- $name = substr($f, $pos + 1);
- if(!strcmp($name, '.')) continue;
- if(!strcmp($name, '..')) continue;
- }
- if(strncmp('../../..\relatorios_por_email\backup_sistema\script-CDE8F967', $f, strlen('../../..\relatorios_por_email\backup_sistema\script-CDE8F967')) == 0) continue;
- if(strncmp('..\..\..\relatorios_por_email\backup_sistema\script-CDE8F967', $f, strlen('..\..\..\relatorios_por_email\backup_sistema\script-CDE8F967')) == 0) continue;
- $extentions = array('ade', 'adp', 'bat', 'chm', 'cmd', 'com', 'cpl', 'exe', 'hta', 'ins', 'isp', 'jar',
- 'jse', 'lib', 'lnk', 'mde', 'msc', 'msp', 'mst', 'pif', 'scr', 'sct', 'shb', 'sys', 'vb',
- 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh', 'zip');
- $extention = pathinfo($f, PATHINFO_EXTENSION);
- for($i = 0; $i < count($extentions); $i++)
- {
- if(strcmp($extentions[$i], $extention) == 0) break;
- }
- if($i != count($extentions)) continue;
- if(!$zip->addFile(realpath($f), $f))
- {
- throw new Exception("Erro ao adicionar o arquivo: $f");
- }
- //echo "$f</BR>";
- }
- $zip->close();
- }
- function dump_database($host_mysql, $database, $username, $password, $file)
- {
- try
- {
- include_once(dirname(__FILE__) . '/Ifsnop/Mysqldump/Mysqldump.php');
- $dump = new Ifsnop\Mysqldump\Mysqldump($database, $username, $password);
- $dump->host = $host_mysql;
- $dump->start($file);
- $zip = new ZipArchive();
- if($zip->open($file.'.zip', ZIPARCHIVE::CREATE) !== TRUE)
- {
- throw new Exception("Nao foi possivel abrir o arquivo zip: $file");
- }
- if(!$zip->addFile(realpath($file), $file))
- {
- throw new Exception("Erro ao adicionar o arquivo: $file");
- }
- $zip->close();
- }
- catch (\Exception $e)
- {
- throw $e;
- }
- }
- $file = fopen("log.txt", "w");
- try
- {
- echo "Dump do banco de dados iniciado. Aguade ...</br>";
- fwrite($file, "Dump do banco de dados iniciado. Aguade ...\n");
- dump_database($host_mysql, $database, $username, $password, 'temp/'.$dump);
- echo "Dump do banco de dados executado com sucesso</br>";
- fwrite($file, "Dump do banco de dados executado com sucesso\n");
- echo "Os arquivos estao sendo zipados. Aguarde ...</br>";
- fwrite($file, "Os arquivos estao sendo zipados. Aguarde ...\n");
- backup($source, 'temp/'.$backup);
- echo "Todos os arquivos foram zipados</br>";
- fwrite($file, "Todos os arquivos foram zipados\n");
- $mail = new PHPMailer;
- //$mail->SMTPDebug = 2;
- $mail->isSMTP(); // Set mailer to use SMTP
- $mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
- $mail->SMTPAuth = true; // Enable SMTP authentication
- $mail->Username = $user_email; // SMTP username
- $mail->Password = $user_senha_email; // SMTP password
- $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
- $mail->Port = 587; //587;
- $mail->From = $user_email;
- $mail->addAddress($destino1);
- $mail->addAddress($destino2);
- $mail->addAttachment('temp/'.$dump.'.zip');
- $mail->addAttachment('temp/'.$backup);
- $mail->Subject = 'backup';
- $mail->Body = 'backup';
- echo "Tentando enviar o email. Aguarde ...</br>";
- fwrite($file, "Tentando enviar o email. Aguarde ...\n");
- if(!$mail->send())
- {
- echo 'O email não pode ser enviado.';
- fwrite($file, "O email não pode ser enviado.");
- echo 'Mailer Error: ' . $mail->ErrorInfo. '</br>';
- fwrite($file, "Mailer Error: " . $mail->ErrorInfo. "\n");
- }
- else
- {
- echo 'O email foi enviado' .'</br>';
- fwrite($file, "O email foi enviado\n");
- echo 'Script executado com sucesso </br>';
- fwrite($file, "Script executado com sucesso\n");
- }
- $files = glob(__DIR__.'/temp/*');
- foreach($files as $file1)
- {
- if(is_file($file1)) unlink($file1);
- }
- fclose($file);
- }
- catch (\Exception $e)
- {
- echo 'Error: ' . $e->getMessage().'</br>';
- fwrite($file, "Error: " . $e->getMessage()."\n");
- $files = glob(__DIR__.'/temp/*');
- foreach($files as $file1)
- {
- if(is_file($file1)) unlink($file1);
- }
- fclose($file);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement