天天看點

使用腳本和定時任務自動備份管理伺服器

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分鐘清理一次,可根據自身需求調整

繼續閱讀