跨服务器传输大文件,利用 scp 与 screen 保证不中断的文件上传

在 Linux 环境中,我们时常需要传输一些大型数据集或权重文件,尤其是涉及到很多碎片文件时,传输的时间可能会非常长。为了避免传输中因为网络断开或者其他原因导致任务中止,可以借助 screen 工具。本文将向你介绍如何使用 screen 来保持文件传输任务的持续性,以确保文件上传可以稳定完成。

为什么需要 screen

假设你有一个项目文件夹,位于源服务器上,现在需要通过 scp 命令将整个文件夹传输到目标服务器。文件夹中包含大量数据集和模型权重,传输时间预计会非常长。传统的方法有几个缺点:

  1. 连接中断:如果网络突然中断,你的传输任务将会终止,并且需要从头开始。
  2. 长时间等待:传输过程可能需要几小时甚至更久,你不可能一直保持连接状态。
  3. 无恢复机制:即使只是网络中断几秒钟,你的传输任务也会终止,这意味着需要从头再来,浪费了时间和资源。

为了解决这些问题,screen 工具非常有用。screen 允许你在后台运行任务,并且即使断开了终端连接,任务仍然会继续执行。

什么是 screen

screen 是一个终端复用器,可以理解为虚拟终端管理工具。它允许你在一个物理终端内运行多个虚拟终端,并且在终端断开连接的情况下依然保持这些虚拟终端的运行。无论是远程 SSH 连接突然中断,还是你主动关闭了终端窗口,screen 会话中的任务仍然继续运行,这非常适合需要长时间执行的任务,如文件传输、模型训练等。

具体步骤

1. 安装和启动 screen

在大多数 Linux 发行版中,screen 通常是默认安装的。如果你的系统中没有安装,可以使用以下命令来安装:

sudo apt-get install screen  # 对于 Debian/Ubuntu 系统
sudo yum install screen      # 对于 CentOS/RHEL 系统

安装完成后,我们可以开始启动一个 screen 会话。启动命令如下:

screen -S scp_upload_session
  • -S scp_upload_session:给这个会话取一个名字,方便你以后找回。这里我们叫它 scp_upload_session,你也可以根据需要取一个更容易识别的名字。

提示:为了避免混淆,可以为会话指定有意义的名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值