Linux使用 rsync 实现断点续传
SCP 本身不支持断点续传。一旦传输中断(如网络断开、连接超时等),必须重新从头开始传输整个文件 。
为实现断点续传功能,推荐使用 rsync 替代 SCP,它基于 SSH 协议,支持增量传输和断点续传,且更高效、安全。
1. 基本命令(适用于大文件):
|
1 |
rsync -avP --append-verify /local/file user@remote:/remote/path/ |
关键参数说明:
- -a:归档模式,保留文件属性。
- -v:显示详细过程。
- -P:等价于 –partial –progress,保留部分传输文件并显示进度。
- –append-verify:从文件末尾追加数据,并校验完整性(推荐用于大文件)。
2. 若需指定非标准 SSH 端口:
|
1 |
rsync -avP -e 'ssh -p 2222' --append-verify /local/file user@remote:/remote/path/ |
注意事项
- 源文件不可修改:若中断后修改了源文件,rsync 可能无法续传,而是重新传输 。
- 权限与路径:确保远程目录有写权限,且 –partial-dir 指定的临时目录存在且可写(如使用)。
- 避免混用压缩与续传:–compress 会改变数据流,可能导致 –append-verify 失效 。