我已阅读这些主题:
但是,据我所知(也许我遗漏了一些东西),它们没有涵盖以下问题:
您如何要求rsync
复制并删除接收方发送方不存在的文件,但有例外?(例如.hg
,即使发送端没有存储库,也不要删除接收端的 mercurial 存储库)。
借用@Richard Holloway 下面的回答。说我有以下几行:
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
Run Code Online (Sandbox Code Playgroud)
据我了解,这一行将rsync
删除发送路径上不存在的接收路径上的所有内容,除了与dont_delete_me
. 我现在的问题是:即使发送方没有任何匹配,rsync 是否会在接收方保留dont_delete_me
匹配的文件dont_delete_me
?
我想使用 rsync 来...
例如,假设我有一个目录local-src
:
之前: local-src
本地包含...
a.txt
b.txt
c.txt
Run Code Online (Sandbox Code Playgroud)
我想要同步到 to 内容的远程目录local-src
称为remote-src
.
之前: remote-src
远程包含...
a.txt
b.txt
c.txt
d.txt
README.md
Run Code Online (Sandbox Code Playgroud)
假设我删除了一些文件local-src
:
本地删除后: local-src
本地包含...
c.txt
Run Code Online (Sandbox Code Playgroud)
如何以某种方式使用 rsync 以确保在源处删除的文件也在目标处删除,但不删除目标处的其他文件。例如,我想在目的地有以下内容:
本地删除后: remote-src
远程包含...
c.txt
d.txt
README.md
Run Code Online (Sandbox Code Playgroud)
也就是说,a.txt
和b.txt
也被远程删除,但d.txt
和README.txt
被单独留下。
有没有办法用 rsync 实现这一点?
编辑:结论似乎是 rsync 这可能是不可能的。有人问我为什么需要这个,所以为了说明我的用例:
假设我有一个网络服务器。在那个 web 服务器上,我有一堆目录,假设我有一个目录A
和一个public_html
目录,我的网站是从那里提供的。假设我有一些在目录中生成文件的自动化过程A
。我想rsync的(或使用其他工具同步)产生或文件更新中A
的public_html
目录,而不删除其他任意文件,可能是内public_html
。我当然不希望 …
rsync ×2