在两台 Linux 服务器之间进行公网传输 TB 级大文件时,使用 Rclone 是一个高效且可靠的解决方案。Rclone 支持多线程并发、断点续传以及文件校验,非常适合大文件的传输。以下是使用 Rclone 进行服务器对服务器文件传输的详细步骤和配置方法。

安装 Rclone

为了获得最佳性能和最新的 Bug 修复,建议使用官方提供的安装脚本进行安装,而不是使用系统包管理器。安装 Rclone 的命令如下:

curl https://rclone.org/install.sh | bash

安装完成后,可以通过运行 rclone version 来验证安装的版本是否为最新版本。这一步只需要在发送端(源服务器)上操作。接收端只需要开启 SSH 服务,无需安装 Rclone。

配置连接(SFTP)

Rclone 需要配置一个远程端(Remote),用于连接到另一台服务器。配置步骤如下:

  1. 运行 rclone config 命令。
  2. 当提示是否新建远程端时,输入 n 并回车。
  3. 为远程端输入一个名称,例如 backup_server,然后回车。
  4. 选择存储类型,输入 sftp 并回车。
  5. 输入接收端的公网 IP 地址。
  6. 输入用户名,通常为 root
  7. 直接回车使用默认的 SSH 端口 22。
  8. 选择是否使用密码认证,如果使用 SSH 密钥免密登录,则无需输入密码,否则输入接收端的 SSH 密码。
  9. 对于后续的配置选项,直接回车跳过。
  10. 确认配置信息,输入 y 并回车。
  11. 退出配置界面,输入 q 并回车。

配置完成后,可以通过以下命令测试连接是否成功:

rclone lsd backup_server:/

如果能够列出目录内容,则说明连接成功。

开始传输

为了确保传输过程的稳定性和可靠性,建议使用 screentmux 等工具来管理会话。以下是传输文件的步骤:

  1. 打开一个新的 screen 会话:
screen -S moving_files
  1. 执行 Rclone 传输命令,使用以下参数来优化传输性能:
rclone copy /本地/数据路径 backup_server:/远程/存储路径 -P --transfers=16 --multi-thread-streams=4

这些参数的含义如下:

  • copy:使用复制模式,确保目标端不会删除多余的文件。
  • -P:显示实时进度条。
  • --transfers=16:同时传输 16 个文件,充分利用带宽。
  • --multi-thread-streams=4:对于大文件,使用 4 个线程分块下载。

验证传输结果

传输完成后,为了确保文件完整性,可以使用 Rclone 的校验功能进行验证。以下是校验命令:

rclone check /本地/数据路径 backup_server:/远程/存储路径 --size-only

如果输出显示 0 differences found,则说明文件传输完整无误。

总结

Rclone 是进行公网大文件传输的强大工具,其多线程并发和断点续传功能能够显著提高传输效率和可靠性。通过以上步骤,您可以轻松地在两台 Linux 服务器之间安全高效地传输 TB 级别的大文件。

标签: none

评论已关闭