Debian 下使用 rsync(五):典型场景配置与实战案例

场景一:本机目录定时备份

把 /data 实时镜像到外接盘 /mnt/usb。

rsync -avh --delete /data/ /mnt/usb/data/

场景二:SSH 远程同步(最常用)

rsync -avz -e ssh /var/www/ www@web-backup:/backup/www/

建议用 SSH 密钥登录,免密且更安全:ssh-copy-id www@web-backup

场景三:rsyncd 守护进程

不想走 SSH、需要对外提供同步服务时,用守护进程。Debian 下编辑 /etc/rsyncd.conf

uid = rsync
gid = rsync
use chroot = yes
[backup]
    path = /srv/rsync/backup
    comment = 公共备份模块
    read only = no
    auth users = rsyncuser
    secrets file = /etc/rsyncd.secrets

创建账户密码文件并设权限:

echo 'rsyncuser:YourPass' | sudo tee /etc/rsyncd.secrets
sudo chmod 600 /etc/rsyncd.secrets
sudo systemctl enable --now rsync

客户端用 rsync:// 协议访问:

rsync -avz rsyncuser@server::backup /local/path/

场景四:systemd 定时备份(替代 cron)

Debian 12 推荐用 systemd timer。建一个服务单元 /etc/systemd/system/rsync-backup.service

[Unit]
Description=每日 rsync 备份
[Service]
Type=oneshot
ExecStart=/usr/bin/rsync -avz --delete -e ssh /data/ backup:/data/

再建定时器 /etc/systemd/system/rsync-backup.timer

[Unit]
Description=每天 03:00 触发备份
[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl enable --now rsync-backup.timer

场景五:网站发布 / 异地容灾

把本地构建产物同步到生产服务器即完成发布;配合异地机房做容灾副本,rsync 都是核心一环。

安全建议

  • 尽量走 SSH 密钥,避免明文密码与开放 rsyncd 端口到公网;
  • 若必须开 rsyncd,用防火墙限制来源 IP,并启用 auth users
  • 对删除式 --delete 操作,永远先 -n 干跑确认;
  • 重要同步建议加 --backup --backup-dir 保留被删文件的兜底副本。
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容