Synology NAS离线时rsnapshot填满本地根分区的问题及自动化处理方案咨询
Synology NAS离线时rsnapshot填满本地根分区的问题及自动化处理方案咨询
问题背景
我正在使用rsnapshot将Ubuntu 22.04 LTS工作站备份到Synology NAS服务器,NAS卷通过/etc/fstab中的以下条目挂载到/synology:
synologynas.local:/volume1/ubuntubackup /synology nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
遇到的麻烦是:偶尔NAS会不可用(比如NAS在安装软件更新,或者其他原因停机),这时rsnapshot会把备份保存到本地根分区上的/synology目录,而且NAS恢复后也不会自动重新挂载,导致根分区很快被填满,我只有在根分区100%满的时候才会发现问题。
想请教大家:有没有办法自动检测NAS挂载卷是否不可用,触发邮件告警、停止rsync备份;当NAS恢复可用后,自动重新挂载卷,再发邮件通知恢复正常并继续rsnapshot备份?这种需求能不能在rsnapshot.conf或者其他地方配置实现?
后续实现反馈(2025年3月30日)
时隔一年再来跟进,感谢@waitinator的帮助!我最终在/etc/cron.d/rsnapshot里实现了这个逻辑,具体配置如下:
0 6,10,14,16 * * * root if ! mountpoint -q /synology; then mount /synology; fi && /usr/bin/rsnapshot hourly 30 4 * * * root if ! mountpoint -q /synology; then mount /synology; fi && /usr/bin/rsnapshot daily 0 3 * * 0 root if ! mountpoint -q /synology; then mount /synology; fi && /usr/bin/rsnapshot weekly 0 1 1-7 * 3 root if ! mountpoint -q /synology; then mount /synology; fi && /usr/bin/rsnapshot monthly
因为/etc/fstab里有nofail选项,所以NAS在开机时不可用的话系统也能正常启动。现在每次通过cron执行rsnapshot前,都会先检查/synology是否是挂载点:如果没挂载,就尝试挂载;挂载成功后才会运行rsnapshot备份。
这个方案已经稳定运行一年,没出过任何问题。
备注:内容来源于stack exchange,提问作者AC-DC
相关产品推荐
相关产品推荐

