我正在尝试在 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 运行命令,因为此时我所做的任何尝试都只是猜测,我们将不胜感激。