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.把上面的這條指令做成腳本檔案
[[email protected] 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.建立腳本定期清理備份檔案
[[email protected] 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
[[email protected] bak]# crontab -l
*/5 * * * * /bak/backup.sh
*/10 * * * * /bak/clear.sh
設為每10分鐘清理一次,可根據自身需求調整