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