Con este script podemos hacer copias por correo electrónico automático a las 5 de la mañana cada día. Seguro que muchos de vosotros teneis el mismo problema y es muy difícil encontrar un script adecuado.
<?
$db["host"] = "localhost";
$db["user"] = "usuariomysql";
$db["pass"] = "contraseñamysql";
$db["name"] = "nombremysql";
// MySQL
$fichero_mysql = "/home/user/backups/".$db["name"] . date("d-m-Y") . '.sql';
system( "mysqldump -h ".$db["host"]." -u ".$db["user"]." -p".$db["pass"]." ".$db["name"]." > ".$fichero_mysql );
// Ahora de la carpeta wp-content
$fichero_wp_content = "/home/user/backups/wp-content" . date("d-m-Y") . '.tgz';
system( "tar czvf ".$fichero_wp_content." /home/user/public_html/wp-content" );
// Ahora enviamos el mail
include "libmail.php"; // Esta librería solo ocupa 9kb http://lwest.free.fr/doc/php/lib/index.php3?page=mail&lang=en
$m= new Mail;
$m->From( "Copia de Seguridad MYSQL <backup@electronico.biz>" );
$m->To( "Yo <micorreo@electronico.biz>" );
$m->Subject( "Copia Diaria de MYSQL de mi Wordpress" );
$m->Body( "Copia de seguridad MySQL\nSaludos." );
$m->Priority(3) ;
$m->Attach( $fichero_mysql ) ;
$m->Attach( $fichero_wp_content ) ;
$m->Send();
// Borramos los fichero del servidor
unlink( $fichero_mysql );
unlink( $fichero_wp_content );
?>
Luego con “crontab -e” en la consola añadimos un cron nuevo para que lo haga solo:
00 5 * * * root php mi_programita.php
Por supuesto hay que cambiar los valores de las variables por los nuestros
