我有一个这样的树:/home/me/A/secret/
。我想(递归地)同步目标文件夹中的文件夹/home/me/A/
(包括子文件夹secret
)/opt
。此外,我还想删除源文件夹中的文件,但不在目标文件夹中的文件,除了文件是否属于该secret
文件夹。
确实,该文件夹不会一直存在于机器上,并且在这种情况下secret
我不想删除远程服务器上的文件夹。secret
我尝试过:该选项--delete
会删除所有内容,因此我尝试了--delete --exclude secret/
,但问题是它甚至不会同步的内容secret/
。然后,--filter "protect ..."
需要一个包含我想要保护的所有文件的文件,这确实不切实际。
所以现在我发现的最佳选择是运行两个 rsync 实例:一个用于--exclude secret/ --delete
处理secret
文件夹之外的所有内容,然后我运行另一个 rsync 将子文件夹直接同步secret
到良好的位置。
有没有one-command
办法做到这一点?
谢谢!