我使用openmediavault (OMV是来自openmediavault.org的NAS软件),并且定义了不同的共享。在其中一个共享中,我有一个类似这样的文件夹结构:(示例)
Subfolder"ABC"/Subsubfolder"SWU"/*.*Files
Subfolder"ABC"/Subsubfolder"SXY"/*.*Files
Subfolder"ABC"/Subsubfolder"ZWE"/*.*Files
Subfolder"BCD"/Subsubfolder"SWU"/*.*Files
Subfolder"CDE"/Subsubfolder"ABC"/*.*Files
Subfolder"TXY"/Subsubfolder"SWU"/*.*Files我想通过rsync将这些股票分成两个不同的部分,但我很难让它与/exclude一起工作。我使用rsync的可能性有限,但是在OMV gui中有一个额外的选项字段来输入包含/排除语句。

我想在子文件夹中将其拆分,我希望子文件夹从"0“开始到"Sj”作为一个部分,以"Sk“到"Z”另一个开始。
我已经试过了
--exclude={/S[k-z]*/,/[T-z]*/} 但这不像我们所期望的那样有效。一次模拟运行告诉我,例如文件夹中的文件:Zur/S 056776/也同步了,我能做什么,对吗?
发布于 2018-12-15 17:48:33
相匹配
您可以尝试以下排除模式。将目录更改为公用文件夹的上方,并从folder修改模式以匹配实际的公用文件夹名称。
--exclude={/folder/S[k-z]*/,/folder/[T-z]*/}我不知道为什么您的尝试模式不起作用(但是如果您确切地显示了哪些目录不工作,我可能会帮助您找到问题),
--exclude={/S[k-z]*/,/[T-z]*/}NAS服务器正在运行linux操作系统。我下载了openmediavault,OMV,并进行了测试。它正在运行ssh服务器,可以运行rsync,既可以在计算机和服务器之间传输文件,也可以通过ssh远程登录到服务器,并在服务器内部运行rsync。
网络界面用户:管理密码: openmediavault客户端(SSH,控制台)用户:根密码:<您在installation>期间设置的密码
ssh ssh root@ip地址到您的服务器#示例: ssh @192.168.0.10#(如果是本地的话)连接。rsyncmyself和root)
我不确定,但我认为下面的命令行将创建您想要的东西。
在测试目录中,我创建了子目录target1、target2和folder,并在folder中创建了几个用于测试的子目录和文件。
rsync -Havn --exclude={/target*/,/folder/S[k-z]*/,/folder/[T-z]*/} * target1
rsync -Havn --exclude={/target*/,/folder/[0-R]*/,/folder/S[0-j]*/} * target2-n (就像在这里一样)运行它们,以检查它们将做什么,-n并让rsync将目录结构复制到目标目录。我使用以下目录树进行了测试:
$ find |sort
.
./folder
./folder/ABC
./folder/ABC/SWU
./folder/ABC/SWU/file
./folder/ABC/SXY
./folder/ABC/SXY/file
./folder/ABC/ZWE
./folder/ABC/ZWE/file
./folder/AIB
./folder/AIB/Sja
./folder/AIB/Sja/file
./folder/AIB/Skb
./folder/AIB/Skb/file
./folder/AIB/SWU
./folder/AIB/SWU/file
./folder/BCD
./folder/BCD/SWU
./folder/BCD/SWU/file
./folder/CDE
./folder/CDE/SWU
./folder/CDE/SWU/file
./folder/Sja
./folder/Sja/Skb
./folder/Sja/Skb/file
./folder/Sja/SWU
./folder/Sja/SWU/file
./folder/Skb
./folder/Skb/Sja
./folder/Skb/Sja/file
./folder/Skb/SWU
./folder/Skb/SWU/file
./folder/TXX
./folder/TXX/Sja
./folder/TXX/Sja/file
./folder/TXX/Sjb
./folder/TXX/Sjb/file
./folder/TXX/Skb
./folder/TXX/Skb/file
./folder/TXY
./folder/TXY/SWU
./folder/TXY/SWU/file
./folder/Zab
./folder/Zab/ABC
./folder/Zab/ABC/file
./folder/zBC
./folder/zBC/ABC
./folder/zBC/ABC/file
./folder/zBC/ABC/target
./folder/zBC/target
./target1
./target2用下面的“干跑”
$ rsync -Havn --exclude={/target*/,/folder/S[k-z]*/,/folder/[T-z]*/} * target1
sending incremental file list
folder/
folder/ABC/
folder/ABC/SWU/
folder/ABC/SWU/file
folder/ABC/SXY/
folder/ABC/SXY/file
folder/ABC/ZWE/
folder/ABC/ZWE/file
folder/AIB/
folder/AIB/SWU/
folder/AIB/SWU/file
folder/AIB/Sja/
folder/AIB/Sja/file
folder/AIB/Skb/
folder/AIB/Skb/file
folder/BCD/
folder/BCD/SWU/
folder/BCD/SWU/file
folder/CDE/
folder/CDE/SWU/
folder/CDE/SWU/file
folder/Sja/
folder/Sja/SWU/
folder/Sja/SWU/file
folder/Sja/Skb/
folder/Sja/Skb/file
sent 742 bytes received 106 bytes 1,696.00 bytes/sec
total size is 0 speedup is 0.00 (DRY RUN)和
$ rsync -Havn --exclude={/target*/,/folder/[0-R]*/,/folder/S[0-j]*/} * target2
sending incremental file list
folder/
folder/Skb/
folder/Skb/SWU/
folder/Skb/SWU/file
folder/Skb/Sja/
folder/Skb/Sja/file
folder/TXX/
folder/TXX/Sja/
folder/TXX/Sja/file
folder/TXX/Sjb/
folder/TXX/Sjb/file
folder/TXX/Skb/
folder/TXX/Skb/file
folder/TXY/
folder/TXY/SWU/
folder/TXY/SWU/file
folder/Zab/
folder/Zab/ABC/
folder/Zab/ABC/file
folder/zBC/
folder/zBC/ABC/
folder/zBC/ABC/file
folder/zBC/ABC/target/
folder/zBC/target/
sent 713 bytes received 100 bytes 1,626.00 bytes/sec
total size is 0 speedup is 0.00 (DRY RUN)https://unix.stackexchange.com/questions/489141
复制相似问题