scp、rsync远程文件同步

scp -r langchain_dev.zip root@1.2.2.5:/home/

/usr/bin/rsync -avP --partial --progress root@1.1.1.1:/home/langchain_dev.zip .

scp 命令本身‌不支持断点续传‌功能。

如果在传输大文件时网络中断或连接超时,scp 会终止传输,且已传输的部分不会被保留,下次必须从头开始重新传输整个文件。这是因为 scp 基于 SSH 协议设计,其传输机制是"原子式"的,没有记录偏移量、校验块或续传标记的能力。


✅ 推荐替代方案:使用 rsync 实现断点续传

rsync 是更强大的文件同步工具,通过 SSH 传输时可完全替代 scp,并天然支持断点续传和增量传输:

复制代码
rsync -avP --partial --progress /本地文件路径 用户@主机:/远程路径 
  • -a:归档模式,保持文件属性。
  • -v:显示详细信息。
  • -P:等价于 --partial --progress,保留已传部分并显示进度。
  • --append--append-verify:适用于大文件,从文件末尾追加,确保数据一致性。

💡 ‌小技巧‌:可以为常用命令设置别名,例如:

复制代码
alias scpr="rsync -avP --rsh=ssh" 

之后即可用 scpr 命令实现"安全续传版的 scp"。


🔧 其他支持断点续传的工具

工具 说明
‌**sftp**‌ OpenSSH 自带,支持 reput(上传续传)和 reget(下载续传)命令。
‌**lftp**‌ 支持 SFTP/FTP/HTTP 等协议,使用 -c 参数即可启用断点续传。
‌**可视化工具(如 WinSCP)**‌ 提供图形界面和稳定传输,适合频繁操作。

远程主机也需要安装 rsync 命令‌,才能成功执行远程同步操作。

原因说明:

在使用 rsync 进行远程文件同步时(例如:rsync -avz user@remote:/path/to/source/ /local/destination/),rsync 会通过 SSH 协议连接到远程主机,并在远程主机上执行 rsync 命令来处理文件传输。因此,远程主机必须安装并运行 rsync 服务或至少具备 rsync 可执行文件。


如何确认远程主机是否已安装 rsync?

你可以通过以下方式检查远程主机是否安装了 rsync

复制代码
ssh root@192.168.109.110 "rsync --version" 

如果输出类似如下信息,则表示已安装:

复制代码
rsync version 3.1.3 protocol version 31 Copyright (C) 1996-2018 by Andrew Tridgell, Wayne Davison, and others. 

如果提示 command not found,则说明远程主机未安装 rsync,需要先安装。


安装 rsync 的方法(以常见 Linux 发行版为例):

Ubuntu/Debian 系统:
复制代码
sudo apt-get update sudo apt-get install rsync 
CentOS/RHEL 系统:
复制代码
sudo yum install rsync 
Arch Linux 系统:
复制代码
sudo pacman -S rsync 

总结:

要实现远程 rsync 同步,‌本地和远程主机都必须安装 rsync ‌,否则会报错如 rsync: command not found 或连接被意外关闭等。

相关推荐
一叶龙洲3 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker5 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience6 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
元Y亨H6 小时前
生产环境监控与故障应急处理(5-5-5 标准)指南
运维
j7~6 小时前
【Linux】二十二.《Linux 信号机制完全指南:表示、捕捉与处理》
linux·信号处理·volatile·可入重函数·保存信号
踏月的造梦星球6 小时前
达梦数据库执行计划与性能分析入门:EXPLAIN、AUTOTRACE 与 ET
服务器·数据库·oracle
观山岳五楼7 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
星夜夏空997 小时前
网络编程(1)
服务器·网络
川石课堂软件测试7 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
m0_715646767 小时前
20260720
linux·arm