分割一个大文件并 rsync 文件,因为每个文件都是 splt 并且不等待 rest

分割一个大文件并 rsync 文件,因为每个文件都是 splt 并且不等待 rest
ls -lrt
-rw-rw-r--    1 rose     user      7516081152 Apr 10 15:47 bak1


split -b 1024m bak1 

-rw-rw-r--    1 rose     user      1073741824 Apr 10 17:15 xaa
-rw-rw-r--    1 rose     user      1073741824 Apr 10 17:16 xab
-rw-rw-r--    1 rose     user      1073741824 Apr 10 17:16 xac
-rw-rw-r--    1 rose     user      1073741824 Apr 10 17:16 xad
-rw-rw-r--    1 rose     user      1073741824 Apr 10 17:16 xae
-rw-rw-r--    1 rose     user       343805952 Apr 10 17:16 xaf

对于非常大的文件,拆分单个文件可能需要长达 20 分钟的时间。

所以我的目标如下:

当第一个文件被拆分时,我希望将其 rsync 到远程服务器 B,而无需等待第二个文件拆分完成,依此类推,直到最后一个文件。我想循环直到最后一个文件被拆分,该文件的大小很可能比其他文件小。

我一直在努力想出一个脚本,我尝试修改比较校验和值,但它不起作用。我想检查大小,但由于我不知道分割后的确切大小,所以我不知道是否可以使用它。特别是如果我安排脚本运行,我希望你们中的一些大师能帮我完成这个

  • 艾克斯

检查总数

for bfile in `ls -lrt .|grep bak|awk '{print $NF}'`;
do
    sum1="$(csum -h MD5 "$bfile")"
    sleep 2
    sum2="$(csum -h MD5 "$file")"
    if [ "$sum1" = "$sum2" ];
    then
        echo "$bfile size has not changed in the last 3 secs. I am going to ship it"
    else
        echo "$bfile size keep changing in size. i will have to wait"
    fi
done

相关内容