Para programar nuestros backups vamos a hacernos un script de shell, que nos hara una copia de seguridad de la base de datos, de los archivos php, los comprimira, movera el backup a un directorio de nuestro servidor ftp y lo subira a otro servidor ftp, para tener otra copia fuera del servidor.
Pego aqui el codigo y lo voy explicando.
#!/bin/sh
dia=`date ‘+%d_%m_%Y’`;userblog=’wordpress’;
passblog=’wOrdpres’;
dirblog=’/var/www/blog’;
dirbackup=’/home/backup/’;find $dirbackup -mtime +30 -exec rm -rf {} \;
mkdir /tmp/$dia;
mysqldump –opt –password=$passblog –user=$userblog wordpress > /tmp/$dia/wordpress.sql;
sleep 5;
cp -rp $dirblog /tmp/$dia;
tar cfv /tmp/$dia.tar /tmp/$dia;
bzip2 /tmp/$dia.tar;
mv /tmp/$dia.tar.bz2 $dirbackup;
rm -r /tmp/$dia;
ncftpput -u ausuario -p pass ftp.site40.net / $dirbackup/$dia.tar.bz2;
Al principio declaramos unas variables, donde indicamos, el nombre que tendra el backup, siendo dia_mes_año, declaramos el usuario de la base de datos de nuestro wordpress, el password, el directorio web y donde queremos copiarlo para bajarlo luego por ftp.
Despues con find lo que hacemos es borrar los backups con mas de 30 dias.
Creamos la carpeta temporal donde vamos a guardar el backup.
Con mysqldump volcamos la base de datos y esperamos 5 segundos con sleep, copiamos el directorio web, lo comprimimos, lo movemos a la carpeta del ftp y borramos la carpeta temporal del directorio /tmp/
Si vamos a subir el backup a otro ftp debemos de instalar el ncftpput.
apt-get install ncftp
Le indicamos a ncftpput el usuario, pass, direccion, directorio remoto donde copiar y el archivo que vamos a subir.
Le damos permisos de ejecucion al script y lo copiamos en /etc/cron.daily/
chmod 755 /etc/cron.daily/backup
Un sitio que recomiendo como ftp para subir el backup es https://www.000webhost.com/ con un 1,5 gigas de espacio.
Deja un Comentario
Debes de estar logueado para comentar.