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/
相关推荐
IT大白鼠30 分钟前
搜索系列 · 第 04 篇——部署实操:内网集群落地
运维·elasticsearch·nosql
Elastic 中国社区官方博客1 小时前
使用 Jev 作为 search reranker:基准测试与实现方法
大数据·运维·elasticsearch·全文检索
YYRAN_ZZU1 小时前
如何编一个gcc的交叉工具链
linux·c++
shjita1 小时前
centos中安装docker
linux·docker·centos
红红谈说1 小时前
浏览器自动化环境老是起不来?依赖治理与启动自检的一次复盘
运维·自动化·浏览器自动化·进程残留·环境依赖·启动自检·版本比较
程序猿老A1 小时前
阿里云linux服务器安装mysql并实现远程访问
linux·服务器·阿里云
wuminyu1 小时前
JVM虚拟线程的底层实现原理分析
java·linux·c语言·jvm·c++
M78佐菲2 小时前
ARM学习笔记(9)
linux·arm开发·笔记·嵌入式硬件·学习
赵民勇2 小时前
glib-compile-schemas命令详解
linux·运维
小小、码农2 小时前
〖Linux文件系统〗:彻底打通文件 IO 全链路
linux·开发语言·数据结构·c++·系统