Windows服务器下载大文件经常中断?教你用 WSL scp 命令实现断点续传异地备份

引言:为什么从服务器下载大文件总失败?

我们在维护 Windows 服务器时,经常需要把服务器上的整站数据、数据库或者程序源码打包下载到自己电脑上做异地备份。

不管你习惯将文件打包成什么格式——是压缩率极高的 **.7z**、Windows 传统的 **.rar**,还是最通用的 **.zip**,甚至是 Linux 常见的 **.tar.gz**——只要文件体积超过 1GB,而远程服务器的公网宽带又比较小(比如只有 3M 宽带,下载速度最快也就 300 多 KB/s),传输就需要挂机跑将近一个小时。

在这一个小时里,网络只要稍微一闪断或者波动,传统的传输方式(比如直接在远程桌面里复制粘贴,或者用普通的 FTP 软件)就会彻底中断并报错。结果就是你传了 99% 也会前功尽弃,只能删掉重新从 0% 开始传,非常折磨人。

为了解决这个痛点,今天教大家一个极其稳妥的绝招:不需要在服务器上装任何乱七八糟的软件,直接利用我们本地电脑自带的 WSL (Windows 的 Linux 子系统),搭配 Linux 内置的 scp 工具,用一行命令实现高效压缩传输,而且功能上完美支持各类压缩包,就算中途断开 100 次,也能无缝接着传


🛠️ 第一步:让服务器做好准备(开启自带的 SSH 门禁)

这个方案最省心的地方在于:你的 Windows 服务器不需要安装任何第三方同步软件。Windows Server 2022 已经原生自带了微软官方的 OpenSSH 服务,我们只需要把它打开,相当于给本地电脑开辟一个专属的专用传输通道。

  1. 在服务器上开启通道
    远程登录你的 Windows 服务器,以管理员身份打开 PowerShell(注意:是远程服务器上的,不是你本地电脑的),依次复制并运行以下命令:

# 1. 自动下载并安装 OpenSSH 服务端组件
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

# 2. 启动 SSH 服务
Start-Service sshd

# 3. 把服务设置为开机自动启动,省得以后手动开
Set-Service -Name sshd -StartupType 'Automatic'
  1. 去云厂商控制台放行“22端口”
    SSH 服务默认走的是 22 端口。所以请登录你的云服务器后台(如阿里云、腾讯云等),在安全组/防火墙入站规则里,加一条规则:放行 TCP 22 端口。不然你本地的电脑连不上服务器。


💻 第二步:本地电脑安装 WSL 环境与初始化(最新保姆级指南)

要使用这个黑科技,你的本地 Windows 电脑(支持 Windows 10/11)需要有 WSL 环境。如果你从来没听过说它,请完全跟着下面死板的步骤一步步点,包你成功。

1. 检查自己是否已经有 WSL

在你的本地电脑上,按键盘上的 Win + R 键,输入 cmd 回车打开黑色的命令行窗口,输入下面三个字母:

wsl
  • 情况 A:如果窗口变成了类似 user@hostname:/mnt/c$ 这样的 Linux 路径字样,说明你电脑早就装过了,请直接输入 exit 退出,然后直接看下面的【2.3 关键初始化】。

  • 情况 B:如果系统提示 无法将“wsl”项识别为... 或者报错,说明你电脑是纯洁的,请继续往下安装。

2. 用最新的一键命令进行安装

新版的 Windows 已经将 WSL 安装极大简化,不需要再去控制台勾选各种组件了。

  1. 鼠标点击你本地 Windows 电脑的“开始”菜单(或任务栏的搜索框)。

  2. 输入 PowerShell

  3. 在搜索结果中,右键点击“Windows PowerShell”,选择“以管理员身份运行”(这步很重要,必须用管理员身份)。

  4. 在弹出的窗口中,直接输入以下命令并敲回车:

wsl --install
  1. 此时你会看到屏幕上开始滚动进度条:系统会自动下载最新的 Linux 内核更新包,并默认下载最稳定的 Ubuntu 系统(这需要大约 1~3 分钟,取决于你的网速)。

  2. 当屏幕提示 请求的操作成功。直到重启系统前,更改才会生效。 时,说明底层已经装好了。请果断重启你的本地电脑

3. 重启后的关键初始化(小白容易懵的地方)

电脑重启进入桌面后,请耐心等待 10~30 秒,系统会自动弹出一个全新的黑色命令行窗口(如果没有自动弹出,请去开始菜单里找到新多出来的 Ubuntu 图标点击打开)。

这个窗口会显示 Installing, this may take a few minutes...(正在安装,可能需要几分钟),请不要关闭它,稍微等一会儿。

接着,它会停下来并出现下面两行字:

  1. Enter new UNIX username: * 这是让你给 Linux 系统起个用户名。直接用英文字母瞎打一个(例如写 mybackup),然后按回车

  2. New password: * 这是让给这个账号设个密码。直接在键盘上敲一组你记得住的密码,然后按回车

  • ⚠️ 超级注意:在 Linux 下输密码时,屏幕上绝对不会显示任何星号 *** 或任何字符,你看着像没输进去一样,这是 Linux 的安全机制。不要怀疑,盲打完直接按回车就行!

  1. Retype new password:

  • 让你再次确认密码。把刚才的密码再盲打一遍,按回车

当你看到屏幕上打印出类似 Welcome to Ubuntu... 以及 yourname@yourcomputer:~$ 的绿色字样时,说明 WSL 已经顺利安装并进入终端了。


🚀 第三步:第一时间更新并检查工具状态

既然已经坐在了刚安装好的本地 Linux (WSL) 终端里面,在正式拉取文件前,建议小白先跑一行命令更新一下软件源,确保底层的系统组件处于最新、最稳定的状态:

sudo apt update

提示:因为使用了 sudo(系统管理员权限),期间它会向你索要密码,直接输入你刚才为 WSL 设定的 Linux 密码并按回车即可。

最新版 WSL 默认内置了高版本 scp 传输工具,它底层已经放弃了过时的旧协议,全面改用和 sftp 一样的先进架构,天然具备了极强的大文件断点续传能力。


📥 第四步:执行首次传输命令(无缝拉取文件)

1. 先在本地 Windows 上建好保存文件夹

因为我们一会儿要在本地电脑上存文件,为了防止 Linux 找不到地方报错,请先打开你本地的 E 盘(或者 D 盘),手动新建好你想存放备份的文件夹(例如:在 E 盘新建一个名叫 网站备份 文件夹,里面再建一个 2026-06-07 文件夹)。

2. 在 WSL 中执行 scp 传输

在本地电脑上打开全新的 PowerShell 或 CMD(不用管理员身份也行),输入 wsl 切入 Linux 状态。然后复制并运行以下通用格式命令:

scp -P 22 -C -o ConnectTimeout=30 用户名@服务器公网IP:/服务器文件路径 '/本地保存路径/'

✍️ 标准演示案例
假设你想把远程服务器上 C:/wwwroot/daddd.7z(或者是 .zip / .rar 等任意格式)的网站备份包,下载到你本地电脑 E 盘网站备份/2026-06-07/ 文件夹下。

由于 3M 宽带极小,命令里的大写 -C 参数 会强迫两端在传输时进行数据实时压缩,能榨干宽带的每一字节效率。

在 WSL 终端中运行:

scp -P 22 -C -o ConnectTimeout=30 用户名@服务器IP:/C:/wwwroot/daddd.7z '/mnt/e/网站备份/2026-06-07/'

注:在 WSL 里面,本地的 E 盘必须写成 Linux 挂载格式 /mnt/e/

📢 首次连接的小提示
第一次敲下回车后,终端会弹出一行英文安全提示:Are you sure you want to continue connecting (yes/no)?。直接打个 yes 敲回车。
紧接着它会让你输密码,输入你 Windows 服务器的登录密码(再次提醒:Linux 输密码时屏幕上不会显示任何星号,盲打输完直接按回车就行)。随后,你就能看到进度条和速度开始满速跳动了!


⚠️ 第五步:核心救场!网络中途断开了怎么办?

大文件在小宽带下挂机,网络突然闪断,终端提示 Connection closed 导致传输卡死不动是家常便饭。这时候千万不要去动本地那个传了一半的文件,更不要删掉它!

这就是新版 scp 命令最逆天的地方。当网络断开后,你只需要在刚才那条命令的最后面,追加一个关键的 -c(注意是小写,代表 continue 继续续传) 参数。

直接在终端里按键盘的【上方向键 】调出上一条命令,在末尾加上 -c 直接敲回车:

scp -P 22 -C -o ConnectTimeout=30 用户名@服务器IP:/C:/wwwroot/daddd.7z '/mnt/e/网站备份/2026-06-07/' -c

神奇的效果出现了:重新输入服务器密码后,scp 会在 1 秒钟内自动秒级校验本地已经下载好的部分,进度条会精准地从上次断开的位置,无缝继续往下传!


Windows服务器下载大文件经常中断?教你用 WSL rsync 实现断点续传异地备份.jpg


不管中途因为网络差断开多少次,只要断了就重复执行这一条带 -c 的续传命令,大文件最终一定会 100% 安全完整地躺进你的硬盘里。


💡 总结与避坑心得

  1. 格式完全通用:本教程使用的 scp 命令基于底层数据流传输,文件后缀名无论是 .zip.7z.rar 还是 .tar,断点续传的机制和稳定性完全一致。

  2. 路径含有中文或空格:在 Linux/WSL 环境下输入本地保存路径时,如果文件夹名字带有中文或者空格,目标路径一定要用**单引号 ''** 整体包裹起来,否则 Linux 没办法正确识别。

  3. 绿色轻量、不占资源:传统的同步软件会在服务器上常驻后台,占用本就紧张的 CPU 和内存。而这个基于 SSH 隧道的纯原生命令行方案传输完毕就彻底释放,对低配(如 2核4G)服务器极其友好,非常适合作为长期异地备份的终极手段。