Linux文件同步/镜像—rsync

rsync 是 Linux 中最常用的文件同步工具之一,支持增量传输、断点续传、权限保持、排除规则等高级功能。它常用于代码同步、备份、部署、远程环境同步等场景。

本文总结 rsync 的常用参数、典型用法。


1. rsync 常用参数说明

✅ 基础参数

参数 含义
-v verbose,显示详细输出
-a archive 模式,递归复制并保持权限、时间戳、软链接等属性(相当于 -rlptgoD
-r 递归复制目录(已包含在 -a 中)
-P 等价于 --partial --progress:显示进度 + 支持断点续传
--delete 删除目标端中源端已不存在的文件(镜像同步)
--exclude=PATTERN 排除匹配的文件或目录
--partial 保留未完成的文件,断点续传
--progress 显示传输进度

2. rsync 常见使用模式

✅ 2.1 本地目录同步到远端

复制代码
rsync -avP local_dir/ user@host:/remote/path/

✅ 2.2 从远端同步到本地

复制代码
rsync -avP user@host:/remote/path/ local_dir/

✅ 2.3 排除文件同步

复制代码
rsync -avP --exclude='*.log' --exclude='.git' src/ dest/

✅ 2.4 镜像同步(删除目标端多余文件)

复制代码
rsync -avP --delete src/ dest/

3. rsync 使用建议

✅ 使用 -a 保持文件属性

适用于代码、配置、环境同步。

✅ 使用 -P 便于大文件传输

断点续传 + 进度显示。

✅ 使用 --exclude 减少传输量

排除 .git、日志、缓存等。

✅ 使用 --delete 时要谨慎

它会删除目标端多余文件,适用于镜像同步,不适用于备份。


4. 常用 rsync 模板(可直接复用)

✅ 同步代码(排除 git)

复制代码
rsync -avP --exclude='.git' project/ user@host:/workspace/project

✅ 同步日志目录(保留所有属性)

复制代码
rsync -avP /var/log/ user@host:/backup/log/

✅ 同步大文件(断点续传)

复制代码
rsync -avP bigfile.iso user@host:/data/

✅ 完整镜像同步(慎用)

复制代码
rsync -avP --delete src/ dest/
相关推荐
云计算磊哥@3 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
weixin_523185323 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
天天进步20153 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
凡人叶枫4 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽4 小时前
玩转RK3506SDK
linux·嵌入式硬件
极客先躯4 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结4 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
志栋智能4 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化
kong@react5 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
凡人叶枫5 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++