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 或连接被意外关闭等。

相关推荐
Cat_Rocky10 分钟前
keepalived简单配置
linux·运维·服务器
开开心心就好16 分钟前
一键扫描电脑重复文件的实用工具
linux·运维·服务器·随机森林·智能手机·excel·启发式算法
charlie11451419116 分钟前
AwesomeQt:最小的Qt6系列迷你版本教程发布!
linux·c++·qt·c
2301_8163743326 分钟前
Nginx下构建PC站点
java·运维·nginx
Run_Teenage32 分钟前
Linux:线程互斥,线程锁
运维·开发语言·jvm
DigitalOcean1 小时前
DigitalOcean VPC 网络故障排查 Runbook 实战指南
运维·服务器
Damon小智1 小时前
腾讯云轻量服务器部署 OpenClaw + QClaw 全流程实践:打造随时在线的个人 AI 助手
服务器·云计算·腾讯云
嵌入式×边缘AI:打怪升级日志1 小时前
Tina SDK Linux Kernel 基本使用(实战篇:为开发板添加用户按键驱动支持)
linux·运维·服务器
日取其半万世不竭1 小时前
Excalidraw 自建部署指南:白板协作工具完全私有化
服务器·网络·数据库
瞎折腾啥啊1 小时前
VCPKG详细使用教程
linux·c++·cmake·cmakelists