当我这样做时:
rsync folder/a /mnt/some/destination
我结束了/mnt/some/destination/folder/a
,但我想是的内容folder/a
是直接内/mnt/some/destination
。
我知道这样做是有可能的:
rsync folder/a/* /mnt/some/destination
但是,这是问题的关键,因为这不适用于该--delete
选件。该选项要求源必须是目录,因此通配符不起作用。
解决方法是
cd folder/a && rsync --delete . /mnt/some/destination
有没有一种方法可以在不更改工作目录的情况下执行此操作?我的情况是CD / CI构建环境。
是否有类似tar -C
或的选项wget --cut-dirs
?
代替:
rsync folder/a /mnt/some/destination
用:
rsync folder/a/ /mnt/some/destination
这样可以--delete
删除目标文件中源文件中不存在的文件,并将文件的内容folder/a
直接放入/mnt/some/destination/
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句