2012-07-15 19 views
5

Quiero automatizar para cargar archivos de mis sitios web. Pero el servidor remoto no es compatible con ssh, así que intento el comando lftp a continuación en lugar de rsync.¿Por qué lftp mirror --only-newer no transfiere el archivo "only newer"?

lftp -c "set ftp:use-mdtm no && set ftp:timezone -9 && open -u user,password ftp.example.com && mirror -Ren local_directory remote_directory" 

Si no se modifican los archivos locales, este comando no genera archivos. Pero, cambio un archivo y ejecuto el comando, todos los archivos se cargan.

Conozco el problema MDTM de lftp/ftp. Entonces, probé "set ftp: use-mdtm no & & set ftp: timezone -9", pero todos los archivos se cargaron aunque cambié solo un archivo.

¿Alguien sabe por qué lftp mirror --only-newer no transfiere el archivo "only newer"?

Respuesta

5

En la página siguiente

http://www.bouthors.fr/wiki/doku.php?id=en:linux:synchro_lftp

los autores afirman:

Al subir, no es posible ajustar la fecha/hora en los archivos subidos, por eso -> ignorar tiempo es necesario

por lo que si utiliza la combinación de indicadores --only-newer y --ignore-time puede lograr unas propiedades de copia de seguridad decentes, de forma que se reemplacen todos los archivos que difieren en tamaño. Por supuesto, no ayuda si realmente necesita confiar en la sincronización del tiempo, pero si solo se trata de realizar una copia de seguridad regular de los datos, hará el trabajo.

+0

Hmm. En mi caso, '-Rne' funciona exactamente como se supone. Tal vez depende del servidor FTP? – kralyk

+0

lftp -e "mirror --reverse --only-newer --ignore-time /var/www/deploys/project.com/prod/shared/web/images/uploaded_statuses_photos/BACKUP_STATUSES_PHOTOS" -u username, pw server || | esto copiará todos los archivos a mi servidor de respaldo, el problema es ... Quiero configurar un cronjob todos los días que haga copias de seguridad de solo nuevas imágenes ... el problema es que, cuando lo ejecuto nuevamente, comienza a enviar todos los archivos una y otra vez . ¿Alguna idea, por favor? – EnchanterIO

+0

También probé esta combinación sin éxito: "lftp -e" "mirror -c --reverse --only-newer --ignore-time" – EnchanterIO

Cuestiones relacionadas