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/
相关推荐
守城小轩2 小时前
基于Chrome140的Quora账号自动化(关键词浏览)——脚本撰写(二)
运维·自动化·chrome devtools·浏览器自动化·浏览器开发
SunnyDays10112 小时前
Python 实现 PDF 文档压缩:完整指南
linux·开发语言·python
weixin_307779132 小时前
Jenkins Pipeline: Input Step插件详解与实践指南
运维·开发语言·自动化·jenkins·etl
宵时待雨2 小时前
C语言笔记归纳21:编译与链接
linux·c语言·开发语言·笔记
Q741_1472 小时前
Linux 进程核心解析 fork()详解 多进程的创建与回收 C++
linux·c++·面试·笔试·进程
CIb0la2 小时前
如何维持精力旺盛
运维·生活
EthanLifeGreat2 小时前
VSCode ssh远程到低内核版本Linux失败原因分析
linux·ide·vscode
一枚正在学习的小白2 小时前
prometheus监控mysql服务
linux·运维·mysql·prometheus
charlee442 小时前
Ubuntu 下配置 SFTP 服务并实现安全数据共享
linux·ubuntu·sftp·freefilesync