El script es resulton y lo pongo por aqui para quien quiera lo mejore o tenga referencia de como hacer uno. Este es para apache2 y valdra con pequeñas modificaciones para apache.
En primer lugar tenemos el script copiarweb.sh
Este se encarga de copiar los datos de /var/www/ ,que es donde estan los files de la web por defecto, a /home/jack/backup/web/nombrefechadecuandosehacelacopia/
y de la base de datos sql que usemos (o varias, solo habria que añadir y modificar un par de lineas). En mi caso la base de datos es una y se llama blog.
El script ha de ejecutarse como root y al llegar al punto de copiar la base de datos va a pedirnos la clave de usuario de esa base de datos (en el caso que pongo aqui el usuario es root).
IMAGEN DE COPIARWEB.SH [1]
copiarweb.sh
#!/bin/bash
N=backup-$(date +%d%m%Y)
echo ///////////////////////////////////
echo ///// BACKUP WEBSITE /////
echo ///////////////////////////////////
echo
echo . > temporal.tmp
sudo mkdir /home/jack/backup/web/$N
sudo cp -R /var/www/ /home/jack/backup/web/$N
sudo ls -la /home/jack/backup/web/$N/* > temporal.tmp | grep total temporal.tmp
echo .....................................
echo Copia web en /home/jack/backup/web/$N
echo .....................................
sudo mkdir /home/jack/backup/db/$N
mysqldump -u root -p blog > /home/jack/backup/db/$N/blog.sql
echo .....................................
echo Copia base de datos en /home/jack/backup/db/$N
echo .....................................
En cuanto al script restaurarweb.sh el codigo es este:
#!/bin/bash
OP="Restaurar Salir"
clear
echo
select opt in $OP; do
if [ "$opt" = "Salir" ]; then
echo -e "\033[1;5mBye Bye\033[0;0m"
exit
elif [ "$opt" = "Restaurar" ]; then
echo
echo Las copias son estas:
echo
sudo ls /home/jack/backup/web/ | cut -c 8-16 | sort
echo
sleep 0.50
echo -e "\033[1;5m¿Cual quieres restaurar?\033[0;0m"
read
echo En 10 segundos se va a restaurar la copia de la web
sleep 10
cd /home/jack/backup/web/backup-$REPLY/www/
sudo cp -R * /var/www/
echo Copia de la web realizada
echo En 10 segundos se va a restaurar la copia de la base de datos
sleep 10
sudo mysql -u root -p blog
IMAGEN DE RESTAURARWEB.SH [2]
Este segundo script va a realizar la restauracion de los ficheros y de la base de datos. Primero te da dos opciones, una para restaurar y otra para salir. Luego te deja 10 segundos de margen antes de comenzar la restauracion para que te de tiempo de hacer un cntl+c y abortar.
Ejecutarlo como root.
Saludos.