我想使用 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 意外删除我的网站。
如果 rsync 不是这项工作的工具,其他人知道我该怎么做吗?
如果我理解正确,那么--exclude可能就是您正在寻找的:
$ ls src dst
dst:
a.txt b.txt c.txt d.txt README.md
src:
c.txt
$ rsync --update --delete --recursive --exclude="d.txt" --exclude="README.md" src/ dst
$ ls src dst
dst:
c.txt d.txt README.md
src:
c.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18980 次 |
| 最近记录: |