我试图用来rsync
同步我的一些数据,但我无法排除我想要的。这是我的目录树:
tst/
├── st1
│ ├── st11
│ │ └── txt.text
│ ├── st12
│ ├── st13
│ ├── st14
│ └── st15
├── st2
├── st3
├── st4
└── st5
我想排除目录st1
及其所有子目录和文件。
我尝试使用这个 Linuxize 教程但没有成功,这些是我尝试过的命令:
rsync -auvzhe --exclude 'tst/st1/' --exclude 'tst/st1/*/' --exclude 'tst/st1' tst /home/yaodav/Desktop/shared_folder/BU/
rsync -auvzhe --exclude 'tst/st1/' --exclude 'tst/st1/*/' tst /home/yaodav/Desktop/shared_folder/BU/
我怎样才能得到不包括的副本st1
?
你快到了,但一个微妙的错误让你失望了。该
-e
标志需要一个参数来表示连接到远程主机的命令。在您的情况下,没有远程主机,因此永远不会使用甚至验证该参数。不幸的是,下一个参数是--exclude
,这意味着将rsync
您'tst/st1/'
视为要复制的目录树,而不是要排除的目录树。场景(设置目录树和示例文件)
复制除
st1
目录及其内容之外的所有内容样品运行
--dry-run
当你可以看到它正在做你想做的事情时删除