Linux rsync同步,网站文件异地备份工具

rsync 是 Linux 下常用的文件同步工具,适合把网站目录、上传附件和配置文件增量同步到另一台服务器,实现异地备份。
只要源站和备份机都装有 rsync,并且能通过 SSH 互通,零基础用户也能按下面的步骤完成一次可验证的同步任务。

两台机器先做哪些准备

建议先确认源站和备份机的系统时间接近,避免 cron 执行时因时区偏差导致时间判断混乱。
需要准备的信息如下:

  • 源站路径:例如网站根目录 /www/wwwroot/example.com
  • 备份机路径:例如 /backup/www/example.com
  • 备份机 SSH 端口、IP 和登录用户
  • 源站是否有 root 权限,或者是否用普通用户加 sudo

两台机器都安装 rsync。
Debian/Ubuntu 系统执行:

sudo apt update
sudo apt install -y rsync

CentOS 或 Rocky Linux 执行:

sudo yum install -y rsync

安装完成后用 rsync --version 验证,能输出版本号即可。

配置 SSH 免密登录

rsync 走 SSH 同步时,每次输入密码不适合放进定时任务。
需要在源站生成密钥,并把公钥放到备份机。

在源站执行:

ssh-keygen -t ed25519 -C "backup-key"

一路回车即可,默认生成在 ~/.ssh/id_ed25519
然后把公钥复制到备份机:

ssh-copy-id -p 22 root@备份机IP

如果备份机不是 22 端口,把 -p 后面的端口换成实际端口。
完成后执行 ssh -p 22 root@备份机IP,能不输密码登录,说明免密配置成功。

首次全量同步与增量同步命令

首次同步建议先做一次全量,把现有网站文件完整推送到备份机。
命令示例:

rsync -avz --delete -e "ssh -p 22" /www/wwwroot/example.com/ root@备份机IP:/backup/www/example.com/

参数说明:

  • -a 归档模式,保留权限、时间、软链接等属性
  • -v 输出同步过程,方便排查
  • -z 传输时压缩,节省带宽
  • --delete 删除备份机中源站已不存在的文件,保持镜像一致
  • -e "ssh -p 22" 指定 SSH 端口

源路径末尾的 / 表示同步目录内容,不加 / 表示同步目录本身,这一点容易写错,建议按上面的写法保持源和目标都带 /

如果只想同步新增和修改的文件,去掉 --delete 即可。
首次全量完成后,后续同一命令会自动变成增量同步,只传输有变化的文件。

排除缓存和临时文件

网站目录里通常有缓存、日志和临时文件,没必要异地备份。
可以写一个排除文件,例如 /root/rsync-exclude.txt

runtime/
cache/
*.log
*.tmp
.git/

同步命令改为:

rsync -avz --delete --exclude-from=/root/rsync-exclude.txt -e "ssh -p 22" /www/wwwroot/example.com/ root@备份机IP:/backup/www/example.com/

排除规则要放在源路径之前,顺序写错可能导致规则不生效。

用 cron 定时执行异地备份

确认手动同步成功后,再交给 cron 定时跑。
执行 crontab -e,加入一行,例如每天凌晨 3 点同步:

0 3 * * * /usr/bin/rsync -avz --delete --exclude-from=/root/rsync-exclude.txt -e "ssh -p 22" /www/wwwroot/example.com/ root@备份机IP:/backup/www/example.com/ >> /var/log/rsync-backup.log 2>&1

保存后可以用 crontab -l 查看任务是否写入。
日志文件 /var/log/rsync-backup.log 能帮助判断任务是否正常执行。

避坑与效果验证

rsync 同步失败时,优先看三个地方:SSH 是否能免密登录、源路径末尾斜杠是否正确、备份机目录是否有写权限。
如果日志里出现 Permission denied,检查备份机目标目录权限;
出现 No such file or directory,检查源路径是否写错。

验证同步是否成功,可以在备份机执行:

du -sh /backup/www/example.com
ls -lh /backup/www/example.com

对比源站文件数量和最近修改时间。
也可以在源站新建一个测试文件,手动执行一次 rsync,看备份机是否出现该文件。

需要注意,--delete 会删除备份机上多余的文件,第一次使用前建议先不加该参数试跑,确认路径无误后再启用。
异地备份只是其中一层保障,重要数据仍建议保留多份不同位置的副本。

分享到:
上一篇
Linux lvm扩容,在线增加服务器磁盘容量
下一篇
Linux screen后台运行任务
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意