Script para sincronizar carpeta remota vía rsync

Ayer me propuse  sincronizar la carpeta de series del servidor de disco con el disco de mí nuevo HTPC. Pensé que era necesario hacer algo para que esteń siempre sincronizadas los dos directorios, así cuando descargue nuevos capítulos no tendré que actualizarlo a mano. Busqué alguna solución entre las aplicaciones que hacen backups, pero no encontré algo sencillo y me decidí a hacer un script cutre en bash utilizando el clásico rsync para sincronizar.

Problemas que resuelve el script:


  • Comprueba que el script no haya sido lanzado ya.

  • Comprueba que el HTPC esté encendido, haciendo ping.

  • Espera un tiempo prudencial 60 segundos, por si el HTPC acaba de encenderse y así dar tiempo a arrancar el sistema.

  • Lanza el rsync para sincronizar las dos carpetas remotas. En este caso el script se inicia en el servidor de disco, pero solo habría que modificar el comando rsync si queremos hacerlo desde el otro lado.


Dependencias:

  • Tener instalado el comando fping:


aptitude install fping


  • Permitir el login sin password del servidor de disco al HTPC, podéis seguir este manual que me funcionó a mí:


http://libtronics.com/2011/06/ssh-login-without-password/

Y este es el script:
#!/bin/bash
FILE=/tmp/mirroring-xbmc

if [ -e $FILE ]
then
exit # THe program is running
else
touch $FILE
status=`fping 192.168.1.20 | cut -d ' ' -f 3`
if [ $status == "alive" ]
then
sleep 60
rsync -azC --force --delete --progress -e "ssh -p22" /mnt/xuflus/Series/ xbmc@192.168.1.20:/home/xbmc/Series/
fi
rm $FILE
fi


Guardamos el script en /usr/bin/mirroring-xbmc, le damos permisos de ejecución:
chmod +x /usr/bin/mirroring-xbmc

Ya solo queda incluirlo en el crontab para que se ejecute cada cierto tiempo:
crontab -e

Y añadir esta linea (se ejecutará cada diez minutos):
*/10 * * * * mirroring-xbmc

Seguro que es reinventar la rueda, y creo que se debería hacer como un daemon de ubuntu, con la estructura correcta en /etc/init.d . Pero como para mí es funcional lo voy a dejar así.

Pingbacks are open.

Trackbacks
  1. Driving Lessons on 01/21/2015 9:20 p.m. #

    Memoria de pez - Script para sincronizar carpeta remota vía rsync

  2. Finding a driving school on 01/25/2015 9:50 p.m. #

    Memoria de pez - Script para sincronizar carpeta remota vía rsync

  3. Adfinder Download on 01/27/2015 7:35 p.m. #

    Memoria de pez - Script para sincronizar carpeta remota vía rsync

Trackback URL

Comments
  1. Android Market Android Market on 07/17/2012 5:21 a.m. #

    Script para sincronizar carpeta remota vía rsync - Memoria de pez I was suggested this blog by my cousin. I'm not sure whether this post is written by him as nobody else know such detailed about my difficulty. You are incredible! Thanks! your article about Script para sincronizar carpeta remota vía rsync - Memoria de pezBest Regards Lawrence