我正在使用rsync命令将文件从源目录同步到目标目录:
rsync -av --delete source destination
目标端只有一个目录,源端没有这个目录。我希望防止rsync删除这个目录。是否有选项可以传递给rsync,以防止在同步时删除此目录?
您可以使用--exclude来排除文件/目录。这将防止somedir目录被同步/删除:
rsync -avrc --delete --exclude somedir source destination
如同类似问题中提到的,通过使用--filter
选项和protect
规则可以实现此目的:
$ rsync ... --filter 'protect /remote-directory-to-keep/' ...
与当前被接受的答案不同,使用--filter
是有用的。例如,如果您还希望在--delete-excluded
中使用--exclude
,则可以使用它。
--filter 'protect *.js' --filter 'protect *.js.map'
。 - stringparser
somedir
,则可以使用“/”来锚定排除。这将提高性能- rsync只需要检查一次路径!例如:rsync -avrc --delete --exclude /path/p2/somedir source destination
。 - Randy Skretka-avrc
中rc
是什么意思的人,它们与这个问题无关。(r=递归,c=基于校验和跳过) - Joschua