我正在尝试使用rsync
.
作为测试用例,我正在尝试以下命令:
rsync -Rav --delete --stats /home/my_user/bin* "$dest"
$HOME
此命令会将我的目录中 ~/bin
存在~/binb
的文件和目录(及其内容)复制~/bin1
到~/bin2
目的地。
但是,当我删除任何调用的文件或目录时~/bin1
,~/bin2
例如,这些文件或目录也不会在目标中删除。唯一有效的是当目录中有一个文件~/bin2/file1
并且该文件被删除时,该文件也会在目标中被删除(但在目录~/bin2/
被完全删除的情况下不会)。
显然,这个问题是由 shell在执行命令时扩展到我的目录中以我的目录/home/my_user/bin*
开头的所有文件和目录名称造成的。所以,我试图引用源代码,但在这种情况下,我得到了错误:bin
$HOME
rsync
"/home/my_user/bin*"
rsync: [sender] link_stat "/home/my_user/bin*" failed: No such file or directory (2)
需要哪些选项,所以,我可以对源使用通配符,并且我将在目标中拥有源文件和目录结构的精确副本?
笔记:rsync version 3.2.3 protocol version 31
您可以使用
--include
/--exclude
喜欢:但我认为拥有一种不同的结构会更容易,您只能同步一个父目录。