Sincronizar contenido a través de FTP
Enviado por miguelcarmona :: 10 de octubre de 2012
Normalmente para la sincronización en GNU/Linux se suele utilizar rsync por su facilidad y principalmente por su eficacia. Se puede utilizar a través de otros protocolos (como ssh por ejemplo) y permite una gran flexibilidad.
Para hacer una sincronización entre 2 rutas (por ejemplo para realizar un update de alguna aplicación en nuestro hosting compartido económico o una sincronización para posteriormente realizar un backup en local), podemos utilizar el siguiente script basado en lftp:
#!/bin/bash
HOST="your.ftp.host.dom"
USER="username"
PASS="password"
LCD="/path/of/your/local/dir"
RCD="/path/of/your/remote/dir"
lftp -c "set ftp:list-options -a;
open ftp://$USER:$PASS@$HOST;
lcd $LCD;
cd $RCD;
mirror --reverse \
--delete \
--verbose \
--exclude-glob a-dir-to-exclude/ \
--exclude-glob a-file-to-exclude \
--exclude-glob a-file-group-to-exclude* \
--exclude-glob other-files-to-exclude"
No creo que haya que explicar mucho la verdad.
Agradecimientos a su autor en: http://serverfault.com/a/106365
También tenemos un proyecto que pinta bastante bien (y en mantenimiento y desarrollo) llamado FTPSync. Se trata de un script en perl. Más en https://confluence.clazzes.org/display/FTPSYNC/FTPSync+Home