11

我想自动上传我网站的文件。但是,远程服务器不支持 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 问题。所以,我尝试了“set ftp:use-mdtm no && set ftp:timezone -9”,但是虽然我只更改了一个文件,但所有文件都已上传。

有谁知道为什么 lftp mirror --only-newer 不传输“仅更新”文件?

4

2 回答 2

7

在下一页

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

作者指出:

上传时,无法在上传的文件上设置日期/时间,这就是为什么需要–>ignore-time。

因此,如果您使用标志组合 --only-newer 和 --ignore-time 您可以获得不错的备份属性,这样所有大小不同的文件都会被替换。当然,如果您真的需要依赖时间同步,这将无济于事,但如果只是为了执行数据的定期备份,它就可以完成这项工作。

于 2013-03-10T09:42:48.733 回答
2

mirror -R -n对我来说是一个非常简单的新文件备份

于 2019-08-12T21:55:34.563 回答