目标: 我想将本地存储库复制到远程服务器。这包括新建、修改和删除的文件。
问题:
rsync --delete
将在目标上删除源(我的存储库)中不存在的所有内容。但是,我在服务器上有一些重要的文件不在我的存储库中(媒体、资产、配置文件等)。因此,我想保留这些文件,但删除使用 rsync 之前同步的所有文件。
换句话说,我删除的 repo 中的任何内容都应从服务器中删除,但我的服务器上的其他文件不应被删除。
有什么办法可以做到这一点?
答案1
rsync 无法区分在您运行 rsync 之前存在的文件和之后创建的文件,除非您可以确保修改日期。最好的办法是使用不同的目录来存放 repo,或者使用过滤器、include/exclude 和 include-file/exclude-file。所有这些选项都可以在 rsync 手册页中找到,或者使用您最喜欢的搜索引擎进行简单搜索即可找到。