Linux rsync数据同步配置:从安装到定时增量同步实操

rsync 是 Linux 下常用的文件同步工具,核心优势是增量传输:只复制发生变化的部分,适合做网站目录备份、多台服务器之间同步数据。
下面按零基础可执行的顺序,从安装、配置到定时同步完整走一遍。

先确认环境和安装 rsync

两台服务器或本机与远程主机之间同步时,两端都需要安装 rsync。
以常见的 CentOS / Rocky Linux 和 Ubuntu / Debian 为例:

# CentOS / Rocky / AlmaLinux
sudo yum install -y rsync

# Ubuntu / Debian
sudo apt update && sudo apt install -y rsync

安装完成后检查版本:

rsync --version

能正常输出版本信息即表示安装成功。
如果提示 command not found,说明软件未安装或 PATH 异常,先解决安装问题再继续。

配置 SSH 免密登录

远程同步最常用的方式是走 SSH 通道,避免每次输入密码。
在源服务器上生成密钥并推送到目标服务器:

ssh-keygen -t rsa -b 4096
# 一路回车,默认生成在 ~/.ssh/id_rsa

ssh-copy-id root@目标服务器IP

执行后测试免密是否生效:

ssh root@目标服务器IP

如果不需要密码就能登录,说明免密配置完成。注意:生产环境建议使用普通用户加 sudo,而不是直接长期使用 root 远程登录。

本地与远程同步命令写法

rsync 的命令结构是 rsync [选项] 源路径 目标路径,源或目标带冒号表示远程。
几个关键选项先记住:

  • -a:归档模式,保留权限、时间、软链接等属性
  • -v:显示详细过程
  • -z:传输时压缩,适合跨公网
  • --delete:让目标目录与源目录完全一致,会删除目标端多余文件
  • --exclude:排除指定文件或目录

本地目录同步示例:

rsync -av /data/www/ /backup/www/

注意源路径末尾的斜杠:/data/www/ 表示同步目录内容,/data/www 表示同步目录本身。
写错会导致目标端多一层目录。

远程推送(本机到远程):

rsync -avz /data/www/ root@目标服务器IP:/data/www/

远程拉取(远程到本机):

rsync -avz root@目标服务器IP:/data/www/ /data/www/

首次同步建议先加 --dry-run 做演练,确认文件列表无误后再去掉该参数正式执行。

用 crontab 设置定时同步

手动同步适合临时操作,长期同步建议交给定时任务。
编辑当前用户的 crontab:

crontab -e

加入一行,例如每天凌晨 2 点同步一次:

0 2 * * * /usr/bin/rsync -avz --delete /data/www/ root@目标服务器IP:/data/www/ >> /var/log/rsync_www.log 2>&1

保存后查看任务是否写入:

crontab -l

避坑提醒:crontab 中建议使用命令绝对路径,例如 /usr/bin/rsync,因为 cron 环境变量与登录 shell 不同,直接写 rsync 可能找不到命令。
另外日志重定向要加上,否则出错了很难排查。

常见报错与排查方向

报错 Permission denied (publickey):SSH 免密未生效。
检查 ssh-copy-id 是否执行成功,以及目标服务器 ~/.ssh/authorized_keys 权限是否为 600。

报错 rsync: command not found:远程主机没有安装 rsync。
登录目标服务器执行安装命令。

同步后目标文件权限异常:检查是否使用了 -a,以及源目录权限本身是否合理。
不要随意加 --no-perms 掩盖问题。

--delete 误删文件:这是最危险的操作。
使用前务必确认源目录正确,并建议先加 --dry-run 预览删除列表。
生产环境可先做一次完整备份。

验证同步是否成功

同步完成后,用以下方式确认结果:

# 对比两端目录大小
du -sh /data/www/

# 查看目标端文件列表
ls -l /data/www/

# 再次执行同步,观察是否还有传输
rsync -avz --dry-run /data/www/ root@目标服务器IP:/data/www/

如果第二次 dry-run 没有文件传输,说明两端已一致。
定时任务是否执行,可以查看日志文件:

tail -f /var/log/rsync_www.log

几个容易忽略的细节

  • 同步前确认磁盘空间充足,df -h 查看目标分区剩余容量
  • 大量小文件同步时,-z 压缩收益有限,可去掉减少 CPU 开销
  • 跨公网同步建议限制带宽,使用 --bwlimit=5000 表示限制约 5MB/s
  • 重要数据不要只依赖单向同步,定期做独立备份更稳妥

按以上步骤配置完成后,rsync 就能承担日常的 Linux 数据同步任务。
建议先在测试目录跑通流程,再应用到正式环境。

分享到:
上一篇
Linux iostat磁盘性能分析:从安装到排错实操
下一篇
Linux scp远程传输教程:从本地上传到服务器下载
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意