两台服务器之间的远程 rsync 管道损坏

2023-12-19

我正在尝试在 ubuntu 16.04 上使用 bash 将大型数据集(768 Gigs)从一台远程计算机传输到另一台远程计算机。我遇到的问题是,我使用 rsync,机器将传输几个小时,然后在连接不可避免地中断时退出。假设我在机器 A 上,远程服务器是机器 B 和 C(所有机器都使用 ubuntu 16.04)。我通过 ssh 连接到机器 B 并使用以下命令:

nohup rsync -P -r -e ssh /path/to/files/on/machine_B user@machine_C:directory &

请注意,我有授权密钥设置,因此机器 B 和 C 之间不需要密码

几个小时后,我在 nohup 文件中得到以下内容:

sending incremental filelist
file_1.bam
90,310,583,648 100%   36.44MB/s    0:39:23 (xfr#4, to-chk=5/10)
file_2.bam
79,976,321,885 100%   93.25MB/s    0:13:37 (xfr#3, to-chk=6/10)
file_3.bam
88,958,959,616  88%   12.50MB/s    0:15:28  rsync error: unexplained error (code 129) at rsync.c(632) [sender=3.1.1]
rsync: [sender] write error: Broken pipe (32)

我使用 nohup 是因为我认为即使出现挂断它也会继续运行。我没有尝试过 sh -c 也没有尝试从机器 A 运行命令,因为此时我所做的任何尝试都只是猜测,我们将不胜感激。


对于那些感兴趣的人,我还尝试在机器 B 上使用 nohup 命令运行以下脚本。

script:

chomp( my @files = `ls /path/to/files/on/machineB/*` );
foreach ( @files ) { system("scp $_ user@machineC:destination/"); }

我仍然收到被截断的文件。

目前以下命令似乎正在运行:

nohup rsync -P --append -r -e ssh /path/to/files/on/machine_B user@machine_C:directory &

您只需检查 nohup 文件是否有损坏的管道错误,并在必要时重新输入命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两台服务器之间的远程 rsync 管道损坏 的相关文章

随机推荐