运行后查询结果 , 已实现了无人值守备份的功能
文章插图
查看异地文件已生成:
文章插图
3.加入crond定时任务并将输出与错误重定向至文件
crontab -e设置每天02:00执行一次异地备份任务 , (给本地备份充足的时间预留)并将标准输出与标准错误重定向至日志文件
0 1 * * * expect /root/backup/offsite_backup.expect 2>&1 > /root/backup/offsite_log_$(date +\%Y-\%m-\%d)修改系统时间 , 重启crond服务等待定时任务的执行,并查询日志:
date -s "2022-10-10 00:59:50"service crond restarttail -5 /var/log/cron
文章插图
检查异地文件备份成功:
文章插图
五.定期删除备份
1.定期删除命令测试:
find /root/backup/ -mtime +180 | xargs rm -rf {} #删除180天前的文件与文件夹的信息
文章插图
2.封装shell脚本delete_expire_backupfile.sh,清理的目录与过期时间可配置
#!/bin/bash#待清除目录dir=/root/backup/#文件的过期周期day_expireDay=10#删除最终为day_expireDay前的备份文件与文件夹信息find $dir -mtime +$day_expireDay | xargs rm -rf {}echo "$dir下的$day_expireDay天前的文件清理成功"查看文件清理效果如下:
文章插图
3.加入crond定时任务并将输出与错误重定向至文件
crontab -e设置每天00:00执行一次异地备份任务 , 并将标准输出与标准错误重定向至日志文件
0 0 * * * sh /root/backup/delete_expire_backupfile.sh 2>&1 > /root/backup/delete_log__$(date +\%Y-\%m-\%d)修改系统时间,重启crond服务等待定时任务的执行,并查询日志,文件已清理成功
date -s "2022-10-12 23:59:50"service crond restarttail -5 /var/log/cron
文章插图
六.github脚本地址:
https://github.com/bigwhite2020/bigwhite2022/tree/main/本地备份、异地备份、删除备份脚本
推荐阅读
- 图片恢复 微信DAT文件转JPG图片
- 二 SpringBoot - 核心配置文件
- 微信电脑版DAT文件转图片工具
- 如何免费去水印文件(最新去水印的方法)
- JuiceFS 元数据引擎选型指南
- gitee仓库上传文件的步骤
- 三十七 Java开发学习----SpringBoot多环境配置及配置文件分类
- liunx之expect简介
- liunx之expect操作详解
- 微信文件如何放大字体(微信金色字体)