You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Rsync按文件名范围分批转移12TB目录至4块4TB硬盘

Rsync多排除模式失效的解决方案

问题原因

你之前的写法--exclude={"_*/","[0-9]*/","[A-C]*/","[H-Z]*/"}失效,是因为外层引号导致shell无法扩展大括号,rsync会把整个字符串当作单一排除规则,仅匹配第一个逗号前的_*/模式,其余部分被忽略。

可行解决方案

方案1:使用多个独立的--exclude参数(兼容性最好)

直接为每个排除规则单独指定--exclude,无需依赖shell的大括号扩展,适用于所有shell环境:

# 同步D-H开头目录到第二块硬盘的示例命令
rsync -av --exclude="_*/" --exclude="[0-9]*/" --exclude="[A-C]*/" --exclude="[I-Z]*/" /你的源目录/ /mnt/disk2/

方案2:让shell正确扩展大括号(仅适用于bash/zsh等支持大括号扩展的shell)

去掉外层引号,让shell自动将大括号内容扩展为多个--exclude参数:

rsync -av --exclude={"_*/","[0-9]*/","[A-C]*/","[H-Z]*/"} /你的源目录/ /mnt/disk2/

注意:如果用sh等不支持大括号扩展的shell执行,这个写法依然会失效,优先推荐方案1。

分硬盘同步的对应规则

根据你的需求,4块硬盘的同步规则可以这样设置:

  • 第一块硬盘(0-9、A-C开头):排除下划线、D-Z开头目录
    rsync -av --exclude="_*/" --exclude="[D-Z]*/" /你的源目录/ /mnt/disk1/
    
  • 第二块硬盘(D-H开头):使用上述你需要的排除规则即可
  • 第三/四块硬盘(I-Z拆分):先排除下划线、0-9、A-H开头目录同步I-Z内容,若容量超过3TB,再拆分为I-M和N-Z分别同步到两块硬盘
  • 验证技巧:每次同步前用rsync -avn(dry run模式)测试,确认待同步目录符合预期,避免误操作。

内容的提问来源于stack exchange,提问作者tookys

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 17:07:21