1.首先是要知道备份的具体命令
engine-backup --scope=all --mode=backup --log=/bak/log$(date +%Y%m%d%H%M%S).log --file=/bak/engine$(date +%Y%m%d%H%M%S).bak
已日期具体到秒的文件名格式保存备份文件
2.把上面的这条命令做成脚本文件
[root@engine bak]# cat backup.sh
#!/bin/bash
#engine backup
engine-backup --scope=all --mode=backup --log=/bak/log$(date +%Y%m%d%H%M%S).log --file=/bak/engine$(date +%Y%m%d%H%M%S).bak
并赋予执行权限
chmod +x backup.sh
运行一下脚本是否可正常运行
./backup.sh
3.创建定时任务
crontab -e
*/5 * * * * /bak/backup.sh
每五分钟备份一次,具体频率根据自己需求调整
crontab -l
查看任务列表
编辑完保存后,重启一下crond服务
service crond restart
systemctl restart crond
空格之间的参数意义如下
分钟 小时 天 月 星期 要执行的命令
查看一下备份目录下文件
定时任务已经生效。
4.创建脚本定期清理备份文件
[root@engine bak]# cat clear.sh
#!/bin/bash
/usr/bin/find /bak -mmin +10 -name "*.bak" -exec rm -rf {} \;
/usr/bin/find /bak -mmin +10 -name "*.log" -exec rm -rf {} \;
删除10分钟之前的备份文件,如果改为-mtime +10,则为删除10天前的备份文件
赋予执行权限
chmod +x clear.sh
5.创建定时任务
crontab -l
[root@engine bak]# crontab -l
*/5 * * * * /bak/backup.sh
*/10 * * * * /bak/clear.sh
设为每10分钟清理一次,可根据自身需求调整