Linux下单源大文件并行复制至多目标并显示进度的实现
7TB数据集并行复制多USB驱动器的进度监控方案
场景说明
- 需复制约7TB的大型数据集到3个外接USB HDD
- 核心诉求:启动复制后可离开,返回时能查看进度;选择并行复制是为避免频繁更换驱动器(单盘轮换需耗时约2天)
- 硬件限制:USB HDD写入速度约200MBps
初始尝试及问题
使用以下命令可完成并行复制,但进度反馈不理想,无法清晰查看复制状态:
parallel --bar rsync ./source/ -r --info=progress2 ::: /dest/one/ /dest/two/
适配当前场景的解决方案
采用Renaud提供的命令,可正常显示其中一个复制线程的实时进度,满足离开后返回查看的需求:
parallel -u rsync ./source/ -r --info=progress2 {2} {1} ::: /dest/one/ /dest/two/
其中-u参数确保parallel按输出产生的顺序打印内容,避免rsync的进度条被多线程输出打乱;--info=progress2让rsync展示整体复制进度。该方案虽非通用最优解,但完全适配当前多USB盘并行复制的场景。
内容的提问来源于stack exchange,提问作者Andy W
相关产品推荐
相关产品推荐

