Estoy trabajando sobre un sistema que tiene servidores en Argentina, Paraguay y Uruguay. Se necesitaba que se repliquen a cierta hora, excluyendo algunos archivos de configuración locales. Para solucionar eso hice un script para crontab:
#/bin/bash rsync -e ssh -avl --stats --progress --exclude 'carpeta1' --exclude 'carpeta2/config.inc.php' /carpetaOrigen root@servidorExterno:/capetaDestino/
Paramétros:
--stats: Informa acerca del estado de transferencia de archivos. --progress: Muestra el progreso de la transferencia. -e ssh: Hace la transferencia a través de SSH. Para utilizar un puerto distinto al 22: -e 'ssh -p 30000' -avl:
a: mantiene el permiso de archivo.
v: verbose mode
l: preserva links simbólicos si existieran.
--exclude: Carpeta o archivo a excluir de la transferencia.
(!) Tener en cuenta que para automatizar el proceso de transferencia ya se crearon las llaves SSH, y se copiaron en el servidor destino.
