Ver Feed RSS

shuttner

Backup do banco de dados e envio para e-mail

Avalie este Post de Blog
Olá galera, vou disponibilizar para vocês um script em php para backup do seu banco de dados e enviar o backup para um email.
Para enviar por email utilizei o phpmailer

backupDBmail.php
Código :
<?php
###################################
## Script de backup do banco de  ##
## Dados com envio para e-mail   ##
## Autor: Douglas Noronha        ##
## Data da Criacao: 27/06/2014   ##
###################################
$server = "localhost";
$username = "root";
$password = "123456";
$db = "banco"; //nome do banco de dados para backup
$dir = "/backup"; //Diretorio onde ser feito o backup
$nameBK = $db."-".date('Y-m-d-H-i-s'); //nome do arquivo
echo "\r\nCriando backup do Banco de dados!";
$command = "mysqldump -h $server -u$username -p$password $db > ".$dir."/".$nameBK.".sql";
shell_exec($command);
echo "\r\nCompactando arquivo\r\n";
 
 
//Conforme seu Sistema Operacional e programa de compactação de arquivos
$compact = 'tar -cjf '.$dir.'/'.$nameBK.'.tar -C '.$dir.' '.$nameBK.'.sql --remove-files';
shell_exec($compact);
 
 
echo "\r\nBackup realizado com sucesso!";
echo "\r\nEnviando backup para e-mail!";
 
 
//Endereço do phpmailer
require '/phpmailer/PHPMailerAutoload.php';
 
 
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.servidor.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "[email protected]"; //usuário do email
$mail->Password = "123456"; //senha do email
$mail->setFrom("[email protected]"); //o email de quem está enviando
$mail->Subject = 'Backup do banco de dados';
$mail->addAddress('[email protected]', 'User1'); //para qual email será enviando
$mail->msgHTML("Recenbendo backup do banco de dados"); //corpo da mensagem
$mail->AddAttachment($dir."/".$nameBK.".tar"); //arquivo anexado
$mail->AltBody = 'This is a plain-text message body';
if (!$mail->send()) {
    echo "\r\nE-mail não pode ser enviado ".$mail->ErrorInfo;
}
else{
    echo "\r\nBackup enviado por e-mail com sucesso";
}
Categorias
Artigos , Dicas , Tutoriais

Comentários

  1. Avatar de muriloc4
    e quando o banco é um freeradius e tem 721mb ?
  2. Avatar de shuttner
    Aconselho fazer a transmissão do backup por outro meio, por exemplo: ftp, ssh

+ Enviar Comentário