Linux rsync 配置详解
rsync 概述
rsync(Remote Sync)是一款快速、 versatile 的远程文件同步工具,支持本地与远程、远程与远程之间的文件同步,其核心优势在于通过增量传输机制,仅同步文件差异部分,大幅减少数据传输量,适用于备份、镜像和大规模数据迁移场景,rsync 支持加密传输(通过 SSH)、权限保留、符号链接处理等高级功能,成为 Linux 系统管理员必备工具之一。

安装与基础用法
安装 rsync
在主流 Linux 发行版中,rsync 通常可通过包管理器安装:
- Debian/Ubuntu:
sudo apt update && sudo apt install rsync - CentOS/RHEL:
sudo yum install rsync或sudo dnf install rsync - Arch Linux:
sudo pacman -S rsync
安装后,可通过 rsync --version 验证版本信息。
基础命令格式
rsync 的基本语法结构如下:
rsync [选项] 源路径 目标路径
常见选项:
| 选项 | 说明 |
|——|——|
| -a | 归档模式,相当于 -rlptgoD(递归、保留权限等) |
| -v | 显示详细输出 |
| -z | 启用压缩传输 |
| -h | 以人类可读格式显示文件大小 |
| --progress | 显示传输进度 |
| --delete | 删除目标中不存在于源文件的文件 |
示例:

- 本地同步:
rsync -avz /local/dir/ /backup/dir/ - 远程同步(通过 SSH):
rsync -avz -e ssh user@remote:/remote/dir/ /local/dir/
配置文件与高级选项
全局配置文件
rsync 的全局配置文件为 /etc/rsyncd.conf,需启用守护进程模式(rsync --daemon),配置文件主要包含模块(Module)定义,每个模块指定一个同步目录及相关权限。
示例配置:
[web_backup]
path = /var/www/backup
comment = "Web server backup directory"
read only = false
list = yes
uid = root
gid = root
auth users = backup_user
secrets file = /etc/rsyncd.secrets
关键参数说明:
path:同步的根目录。read only:是否允许写入(false表示可写)。auth users:认证用户(需与secrets file配合使用)。secrets file:存储用户密码的文件(格式:username:password,权限需设为 600)。
密码文件配置
创建密码文件 /etc/rsyncd.secrets:
echo "backup_user:SecurePassword123" | sudo tee /etc/rsyncd.secrets sudo chmod 600 /etc/rsyncd.secrets
启动 rsync 守护进程
编辑 /etc/default/rsync(或 /etc/sysconfig/rsync),启用 RSYNC_ENABLE=true,然后启动服务:

sudo systemctl enable rsync sudo systemctl start rsync
常见使用场景
定时备份(结合 cron)
通过 crontab 设置定时任务,例如每天凌晨 2 点同步数据:
0 2 * * * rsync -avz /data/ user@backup:/backup/data/
排除特定文件
使用 --exclude 选项排除不需要同步的文件或目录:
rsync -avz --exclude="*.tmp" --exclude="logs/" /source/ /dest/
限制带宽使用
通过 --bwlimit 限制传输速率(单位:KB/s):
rsync -avz --bwlimit=1024 /source/ /dest/
安全与优化建议
- 使用 SSH 传输:避免直接暴露 rsync 守护进程,优先通过
-e ssh加密连接。 - 防火墙配置:若使用 rsync 守护模式,需开放 TCP 端口 873(或自定义端口)。
- 日志记录:在
/etc/rsyncd.conf中添加log file = /var/log/rsyncd.log跟踪同步操作。 - 测试同步:首次使用时,添加
--dry-run选项预览同步行为,避免误操作:rsync -avz --dry-run /source/ /dest/
故障排查
- 权限问题:确保源/目标目录的用户权限正确,尤其是
uid和gid匹配。 - 连接超时:检查网络防火墙或 SSH 配置(如
/etc/ssh/sshd_config的AllowUsers)。 - 密码错误:验证
secrets file格式及权限,避免密码含特殊字符。
rsync 凭借其高效性和灵活性,成为 Linux 环境下文件同步的首选工具,通过合理配置守护进程、结合 cron 定时任务,并注重安全与性能优化,可实现可靠的数据备份与迁移,无论是小型服务器还是大型分布式系统,rsync 均能提供稳定、可扩展的同步解决方案。



















