Linux定时备份异常处理
问题场景
为了FineReport
数据决策平台服务器的安全性,前段时间做了定时备份,使用Linux
的crontab
定时任务每天凌晨将整个FineReport
项目打包然后备份一份到挂载的公司共享 NAS 1.3 云盘。
# Crontab定时任务列表查询 |
处理过程
今天突然想起来去看看备份的情况,发现挂载的 1.3 云盘没有备份文件,赶忙去看了下crontab
执行日志:
cat /var/log/cron | grep 'webroot' |
感觉是打包有点问题,接着看了下系统邮件检查异常信息:
cat /var/spool/mail/root |
看起来是打包的后缀在加date拼接的问题,网上找了找,看到一个解决方式:
加上之后,果然可以了。重新修改定时任务:
0 3 * * * tar -cf - /usr/local/tomcat-8.5.55/webapps/webroot | pigz > /data/FineReport/webroot_$(date +'\%Y-\%m-\%d').tar.gz |
但还是会一直报一个警告:
去ChatGPT
上查了一下,是因为打包使用了绝对路径的问题:
然后我采用了第一种方式:
0 3 * * * cd /usr/local/tomcat-8.5.55/webapps/ && tar -cf - webroot | pigz > /data/FineReport/webroot_$(date +'\%Y-\%m-\%d').tar.gz |
最后问题得到圆满解决,以下是挂载盘在 Linux1.7 和 win1.3 上的路径:
拓展
为了防止备份数据冗余,我写了一个bash
脚本,每天定时删除三天前的备份(FineReport 已经默认保存了最近7天的数据)
最后,贴上NAS远程挂载命令:
mount.cifs //10.0.1.3/soft/FineReport/backup/ /data/FineReport -o user="xxx",password="xxx",vers=3.0 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 山雨欲来兮丶!
评论