Este pequeño shell-script se hace cargo de respaldar la BD de mysql en dos formatos (txt y tgz), lo transfiere a otro servidor y se envian via e-mail a otro servidor externo (gmail, yahoo, hotmail) en forma automatica. Este respaldo se ejecuta cada 4 horas. Tambien anexo al final el cron que lo ejecuta y el contenido del mensaje.
# —- Shell-Script
#!/bin/sh # Script para hacer backups de bd para MySQL # Date 29/Abr/08 # Lic. Domingo Varela Y. # Probe = True # # Settings #fecha=dblinuxsc-`date +%y-%m-%d` fecha=dblinuxsc-`date +%d-%m-%Y_%H.%M` #dir=`pwd` dir=/home/dvarela/backups # if [ -d $dir ]; then mysqldump --opt --password=mipassword --user=miusername midatabase > $dir/$fecha.sql sleep 5 mysqldump --opt --password=mipassword --user=miusername midatabase | gzip > $dir/$fecha.sql.gz fi # -- Tiempo de espera 1 minuto para hacer la transferencia sleep 5 # # Area de transferencia via ssh al otro servidor # # cd $dir scp $fecha.sql $fecha.sql.gz dvarela@listas:/home/dvarela/backups # Enviamos la bd via mail a un servidor externo mutt -n -s "Respaldo DB" -a $fecha.sql.gz username@algundominio.com < mensaje.txt sleep 5 ###
# — Crontab —
dvarela@correo:~/backups$ crontab -l # m h dom mon dow command # min hora dia-mes mes dia-semana comando 0 */4 * * * /home/dvarela/backups/respaldo-db.sh 2>&1 | tee /home/dvarela/backups/respaldo-db.out
# — Mensaje.txt —
dvarela@correo:~/backups$ cat mensaje.txt La generacion de los backups de la BD de Linuxsc generandose en dos formatos 1) La primera es un archivo en texto plano con extension .sql 2) Esta ultima esta comprimida con gzip
Saludos