Uso de rsync y ssh para sincronizar carpetas a través de la red.


Configurar el inicio de sesión SSH con autenticación de clave

Crear un nuevo par de claves ssh:

ssh-keygen -t rsa -b 2048 -f andy-rsync-key 

Mueva la clave pública (!) Al servidor remoto:

 scp andy-rsync-key.pub andy@example.cloudapp.net :/home/andy/ 

Agregue la clave pública a las "authorized_keys" en su servidor remoto:

 ssh -l andy example.cloudapp.net cat andy-rsync-key.pub >> .ssh/authorized_keys 

Probar la conexión:

 ssh -l andy -i ~/.ssh/andy-rsync-key example.cloudapp.net 

No se le debe solicitar una contraseña.


Configurar la sincronización de carpetas

Probar la sincronización:

 rsync --progress -avz -e "ssh -i /home/dev/.ssh/andy-rsync-key" /home/dev/git-master/ andy@example.cloudapp.net :/home/andy/git-master/ 

Crear un script de shell para la sincronización.

 vi ~/bin/sync-git-master.sh 

#!/bin/bash 
rsync –progress -avz –delete -e “ssh -i /home/dev/.ssh/andy-rsync-key” / home / dev / git-master / andy@example.cloudapp.net : / home / andy / git-master /

chmod 700 ~ / bin / sync-git-master.sh

 Schedule the script execution (every 5 minutes): ```bash crontab -e 
 # mh dom mon dow command */5 * * * * /home/dev/bin/git-master-sync.sh



Fuente: https://andykdocs.de/development/Linux/2013-01-17+Rsync+over+SSH+with+Key+Authentication