我想自动上传我网站的文件。但是,远程服务器不支持ssh,所以我尝试下面的lftp命令而不是rsync。
lftp -c "set ftp:use-mdtm no && set ftp:timezone -9 && open -u user,password ftp.example.com && mirror -Ren local_directory remote_directory"
如果未更改本地文件,则此命令不会上载任何文件。但是,我更改了一个文件并运行命令,所有文件都已上载。
我知道lftp/ftp的MDTM问题。所以,我尝试了"setftp:usemdtmno&setftp:timezone-9",但所有文件都被上传了,尽管我只更改了一个文件。
有人知道为什么lftp镜像——只有更新的不传输"只有更新的"文件吗?
在下一页
http://www.bouthors.fr/wiki/doku.php?id=en:linux:synchro_lftp
作者表示:
上传时,无法设置上传文件的日期/时间,这就是为什么需要忽略时间。
因此,如果您使用标志组合--only-newer
和--ignore-time
,您可以获得不错的备份属性,这样可以替换所有大小不同的文件。当然,如果你真的需要依赖时间同步,这并没有帮助,但如果只是执行数据的定期备份,它就能完成任务。
mirror -R -n
对我来说是一个非常简单的新文件备份