如何排除rsync从删除中排除?


31

我正在使用rsync使用以下命令在多台计算机上同步文件:

rsync -az -e "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \
  --delete --delete-excluded --force --exclude=.git  --exclude=.bundle \
  --exclude=tmp --exclude=log/* --exclude=*.log --exclude=*.pid \
  user@host:/path/to/src/ /var/build/dest

我想排除所有日志文件从源转移到目标,并删除目标上所有现有的文件。所以我使用--exclude=*.log--delete-excluded它的伟大工程。

但是我想在目标上保留某些日志文件。我想要一个--exclude-from-delete选择。

rsync可能吗?


Answers:


47

“保护”过滤器应完成您想要的操作:

          protect, P specifies a pattern for protecting files from deletion.

只需在相关排除项之前指定以下过滤器即可:

--filter='P my-specific-logfile.log'

(注意字母P后的空格。)


2
这实际上有效。
Fish Monitor
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.