【linuxrsync命令详解】rsync 是 Linux 系统中一个非常强大的文件同步工具,广泛用于数据备份、文件传输和镜像同步。它不仅支持本地文件的同步,还支持通过 SSH 或 Rsync 协议与远程服务器进行数据同步,具有高效、灵活、可配置性强等特点。
以下是对 `rsync` 命令的总结与使用说明,便于快速查阅和理解其核心功能与参数。
一、rsync 命令简介
| 项目 | 内容 |
| 名称 | `rsync` |
| 用途 | 文件同步、备份、镜像复制 |
| 支持协议 | 本地、SSH、Rsync 协议 |
| 特点 | 高效、增量同步、支持压缩、断点续传 |
| 常见场景 | 数据备份、服务器间文件同步、日志迁移 |
二、rsync 基本语法
```bash
rsync [选项] 源路径 目标路径
```
- 源路径:要同步的文件或目录。
- 目标路径:同步到的目标位置。
三、常用选项说明(表格)
| 选项 | 说明 | 示例 |
| `-a` | 归档模式,等同于 `-rlptgoD`,保留权限、时间、符号链接等 | `rsync -a /source/ /dest/` |
| `-r` | 递归处理目录 | `rsync -r /source/ /dest/` |
| `-v` | 显示详细过程 | `rsync -v /source/ /dest/` |
| `-z` | 压缩传输,减少网络流量 | `rsync -z /source/ user@remote:/dest/` |
| `-p` | 保留文件权限 | `rsync -p /source/ /dest/` |
| `-t` | 保留文件时间戳 | `rsync -t /source/ /dest/` |
| `-u` | 仅同步更新后的文件(基于时间戳) | `rsync -u /source/ /dest/` |
| `-d` | 同步目录本身,而非目录内容 | `rsync -d /source_dir /dest_dir` |
| `-n` | 测试模式,不实际执行操作 | `rsync -n -a /source/ /dest/` |
| `-e` | 指定远程连接使用的 shell(如 ssh) | `rsync -e ssh -a /source/ user@remote:/dest/` |
| `--delete` | 删除目标中多余的文件 | `rsync -a --delete /source/ /dest/` |
| `--exclude` | 排除特定文件或目录 | `rsync -a --exclude='.log' /source/ /dest/` |
| `--include` | 包含特定文件或目录 | `rsync -a --include='.txt' --exclude='' /source/ /dest/` |
四、典型使用示例
| 场景 | 命令示例 |
| 本地文件同步 | `rsync -av /home/user/data /backup/` |
| 远程文件同步(SSH) | `rsync -avz /home/user/data user@remote:/backup/` |
| 从远程拉取文件 | `rsync -avz user@remote:/home/user/data /local/backup/` |
| 同步并删除多余文件 | `rsync -av --delete /source/ /dest/` |
| 排除日志文件 | `rsync -av --exclude='.log' /source/ /dest/` |
| 仅同步新文件 | `rsync -avu /source/ /dest/` |
五、注意事项
1. 权限问题:确保源和目标路径有读写权限。
2. 路径结尾斜杠:`/source/` 与 `/source` 的区别在于前者会同步目录内容,后者会创建子目录。
3. 远程同步建议:使用 `-e ssh` 来保证安全性和稳定性。
4. 测试命令:在正式执行前,使用 `-n` 选项进行预览。
六、总结
rsync 是 Linux 中不可或缺的文件同步工具,具备强大的功能和灵活性。掌握其基本命令和常用选项,可以大幅提升系统管理效率。无论是日常备份还是跨服务器文件同步,rsync 都是一个值得信赖的选择。
通过合理配置和使用,可以实现高效、安全、可靠的文件同步操作。


