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. addiction recovery programs on 03/14/2015 11:44 p.m. #

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

  2. telechargergta5surpc.net on 03/15/2015 1:58 a.m. #

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

  3. alcohol detox on 03/15/2015 8:30 a.m. #

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

  4. Best Women Perfumes Shop now! on 03/15/2015 1:51 p.m. #

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

  5. have a peek at this web-site on 03/15/2015 8:56 p.m. #

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

  6. hipster glasses on 03/16/2015 5:45 p.m. #

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

  7. non profit organizations on 03/16/2015 11:42 p.m. #

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

  8. patrickspicks.com on 03/21/2015 3:11 a.m. #

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

  9. życzenia on 03/21/2015 10:04 p.m. #

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

  10. understanding on 03/22/2015 10:49 p.m. #

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

  11. what google did to me on 03/23/2015 1:08 p.m. #

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

  12. gamer bounty on 03/25/2015 11:04 a.m. #

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

  13. gt hyt on 03/25/2015 11:29 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