Alex Sobrino

Blog personal...

Rsync entre directorios locales

jander | 16 Junio, 2009 07:00 | del.icio.us meneame.net technorati.com

A modo de chuletario, para sincronizar dos directorios a través de rsync (siempre tengo que estar leyendo el man...) basta con que hagamos:

rsync --archive --update --quiet /home /backup

Ok, haciendolo un poco más manejable y mantenible (ole! bonitos palabros) podemos hacernos un chorra-script tal que así:

#!/bin/bash

# Directorio de origen
BACKDIR="/home"
# Directorio de destino
DESTDIR="/backup"

# Opciones para rsync
# 'man rsync' para mas detalles
OPTS="--archive --update --quiet"

# Comprobamos que existen los directorios de
# origen y destino
if [ ! -d $BACKDIR ]
then
  echo "ERROR: $BACKDIR no existe."
  exit 1
fi
if [ ! -d $DESTDIR ]
then
  echo "ERROR: $DESTDIR no existe."
  exit 1
fi

rsync $OPTS $BACKDIR $DESTDIR

exit 0

Habría que mirar si interesa añadir la opción de --delete y bien si deseamos almacenar logs de los resultados. Así, quitaríamos --quiet y haríamos un rsync $OPTS $BACKDIR $DESTDIR > log_salida 2> log_error. Lo típico...

Ya sólo falta añadirlo al cron.

# crontab -e

Y añadir:

00 XX * * * /path/al/script/rsync.sh

Me da auto-vergüenza publicar estas cosas, pero como es algo que SIEMPRE estoy revisando el man rsync... Y seguro que a más de uno le viene bien XD

 
Accessible and Valid XHTML 1.0 Strict and CSS
Powered by LifeType - Design by BalearWeb