在使用 scp 传输大文件时,为避免因连接超时导致传输中断
在使用 scp
传输大文件时,为避免因连接超时导致传输中断,可以添加一些参数来保持连接活跃。针对你的情况,推荐两种方案:
方案1:使用 scp
自带的保持连接参数
在 scp
命令中添加 -o ServerAliveInterval=60
参数,让客户端每隔60秒向服务器发送一个保持连接的信号,防止连接被断开:
scp -P 23309 -o ServerAliveInterval=60 "H:\研究生工作\2025\科研\疾病语音数据集\Coswara\Coswara-Data\20200720.zip" test1@zj2.natnps.cn:/mnt/data/test1/Speech_Disease_Recognition_Dataset_Benchmark/dataset/Coswara_Data
ServerAliveInterval=60
:每60秒发送一个“心跳包”,保持连接活跃。
方案2:使用 rsync
命令(更推荐,支持断点续传)
如果传输中断,rsync
可以从断点继续传输,无需重新开始,且同样可以保持连接:
rsync -avz -e "ssh -p 23309 -o ServerAliveInterval=60" "H:\研究生工作\2025\科研\疾病语音数据集\Coswara\Coswara-Data\20200720.zip" test1@zj2.natnps.cn:/mnt/data/test1/Speech_Disease_Recognition_Dataset_Benchmark/dataset/Coswara_Data
-a
:归档模式,保留文件属性-v
:显示详细进度-z
:传输时压缩数据(加快速度)-e
:指定 SSH 连接参数(包含端口和保持连接设置)
如果传输中断,只需重新运行相同的 rsync
命令,它会自动检测已传输的部分并继续。
补充建议
- 传输时尽量保持本地网络稳定,避免休眠或断开 SSH 客户端。
- 若使用 Windows 系统,也可以尝试用 FileZilla 等图形化工具(支持 SSH 协议),其默认会保持连接,且支持断点续传,操作更直观。