Hacer Backup mediante comandos

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.

Backup Computer Key

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.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *