尝试同步大型主文件夹时 rsync 失败

尝试同步大型主文件夹时 rsync 失败

我尝试/home/myUser通过网络将一个非常大的主文件夹 ( ) 复制到新计算机。虽然我经常使用rsync它,但在复制 55 / 80GB 后失败,并显示错误消息

    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1655) [generator=3.1.0]

rsync 最大可以处理的数据/时间是否存在限制?

我也会考虑使用scp -r但显然它不能正确复制链接。

这是我使用的命令

    sudo rsync -r -l -p --progress "someSudoUser@nameOfRemoteComputer:/home/myUser/" "/home/myUser"

有人知道为什么rsync会发生故障吗?

答案1

您遇到的错误通常是由于一端或另一端缺少权限,因为您sudo rsync在发送端执行操作,因此忽略了此选项,因此它必须在接收端。

目前,您sudo rsync在发送端运行的是 sudo 版本,但在接收端运行的是非 sudo 版本,即使您是使用 sudo 用户执行此操作。要解决此问题,您可能需要--rsync-path "sudo rsync"在接收机器上使用选项,并确保 sudo 用户无需输入密码即可完成 sudo rsync 命令。

在执行此操作之前,您需要在接收机器上设置对 rsync 命令的无密码访问权限。这将编辑文件/etc/sudoers,请小心执行此操作,因为如果您弄乱此文件,您可能会锁定自己无法使用 sudo 访问权限:

sudo visudo

在文件底部输入以下几行。第一行只是一条注释,以帮助您记住为什么添加了下一行。

# Allows someSudoUser to use rsync with no password.
someSudoUser ALL=NOPASSWD: /usr/bin/rsync

以下是一些有关 sudo 访问的有用链接:Sudoers 根须藤

完成后,rsync 命令将是:

sudo rsync -rlp --progress --rsync-path "sudo rsync" "someSudoUser@nameOfRemoteComputer:/home/myUser/" "/home/myUser"

此方法的替代方法是确定哪些文件导致了问题,然后使用 rsync 选项将它们从 rsync 命令中排除--exclude

相关内容