场景一:本机目录定时备份
把 /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













暂无评论内容