Lo mas importante para cualquier administrador de sistemas es saber hacer Backups.
En este caso con linux, hay muchas herramientas muy buenas para hacer backups mediante comandos. Y luego poder automatizar todo con un script y cron.
Rsync
Copia simple
Copia los archivos de un sitio a otro pero si ya están copiados no los copia
# rsync -avv /path/actual/ /path/copia/
# rsync -avv /path/actual /path/copia/
Copia simple pero envío comprimido
Comprime solo el envío de paquetes no el paquete
# rsync -avvz /path/actual/ /path/copia/
# rsync -avvz /path/actual /path/copia/
Copia remota
Para copiar archivos de una máquina a otra
# rsync -zavv /path/actual usuario@remoto:/path/copia/
# rsync -zavv usuario@remoto:/path/actual /path/copia/
Eliminar ficheros de backup anteriores
Con el –delete borra los archivos de la carpeta copia que no estén en la carpeta actual
# rsync -avv –delete /path/actual/ /path/copia/
Copia incremental
Copia el archivo de actual a copia pero guardando los archivos que se cambian en la carpeta incremental_backup_fecha
# rsync -avvb –delete –backup-dir=$PWD/copia/incremental_backup_$(date +%Y%m%d%H%M) /path/actual/ /path/copia/
Rdiff
Copia simple
Rdiff crea un carpeta con logs del backup
# rdiff-backup /path/actual /path/copia
Listar los backups
Lista los backups disponibles
# rdiff-backup -l /path/copia/
Copia remota
Hacer el backup de un equipo remoto
# rdiff-backup /path/actual usuario@servidor:/path/copia
# rdiff-backup usuario@servidor:/path/actual /path/copia
Restaurar una carpeta/archivo
Restaurar el backup de un archivo/carpeta de una fecha concreta
# rdiff-backup -r [fecha] /copia/mifichero.txt /actual/antiguo.txt
Cron
Instalar ntp que es para que sincronice bien la hora
# aptitude install ntp ntp-date
# cat /etc/crontab
# m h dom mon dow user command
17 * root cd / && run-parts –report /etc/cron.hourly
25 6 * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )
m el minuto en que se va a ejecutar el script, el valor va de 0 a 59
h la hora exacta, se maneja el formato de 24 horas, los valores van de 0 a 23, siendo 0 las 12:00 de la medianoche.
dom hace referencia al día del mes, por ejemplo se puede especificar 15 si se quiere ejecutar cada dia 15
dow significa el día de la semana, puede ser numérico (0 a 7, donde 0 y 7 son domingo) o las 3 primeras letras del día en inglés: mon, tue, wed, thu, fri, sat, sun.
user define el usuario que va a ejecutar el comando, puede ser root, u otro usuario diferente siempre y cuando tenga permisos de ejecución del script.
command refiere al comando o a la ruta absoluta del script a ejecutar, ejemplo.