3

我已经阅读了 rsync 文档几个小时,但我不知道如何向 rsync 传达如何在源文件夹重命名时只重命名(而不是重新上传文件夹及其内容)目标文件夹。

我正在使用 SSH 连接到目标,本地文件夹是源 - 而远程服务器是目标。如果我重命名包含文件的文件夹,rsync 会自动重新上传源文件夹的所有内容。我没有使用 rsync 的服务器部分,如果这样做可能会起作用?

我在使用 lftp 时遇到过同样的行为,而且这个工具似乎没有这些选项。即使它基于文件的日期规则,重命名文件夹中的文件也会被删除/重新上传。

如果有人知道如何管理这个,请提前感谢:)

4

2 回答 2

2

我一直在寻找类似的东西。

到目前为止,我发现的最佳解决方案是:

http://serenadetoacuckooo.blogspot.com/2009/07/rsync-and-directory-renaming.html

它基本上提到在每个文件夹中包含一个指示文件夹名称的元文件。
本质上,您可能希望使用目录名称检查该文件,并且仅当它们相同时才 rsync(否则,发出远程重命名命令。)

这取决于您使用 rsync 的范围,但我希望这些信息可以帮助您。

于 2011-10-04T19:10:19.017 回答
1

rsync 或任何其他程序如何知道重命名的构成?如果两个目录是非常相似的候选目录,并且 rsync 以某种方式猜测其中一个目录可能是之前目录的重命名,该怎么办?这是不可能的。我认为您无法再次上传所有内容。

您知道 --delete 选项,对:

--delete 删除发送端不存在的文件

还要注意 --force 选项:

--force 强制删除目录,即使不为空

于 2010-01-15T18:27:51.053 回答