使用指令碼和定時任務自動備份管理伺服器

2021-07-11 15:27:09 字數 1353 閱讀 2743

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

定時任務指令碼

最近的專案用到了定時執行的一些東西,但沒有用到linux裡面的功能,所以自己寫了乙個按時執行的排程程式 bin bash whilerun.sh writeby xingming on 2013年6月29日12 55 49 常駐記憶體,迴圈執行指令碼檔案 各引數含義介紹 1 為程式執行語句,將函式執...

firewalld和定時任務管理

list all zones 檢視所有區域的配置資訊 list all 列出當前使用區域的配置 get default zone 檢視預設使用的區域 get zones 檢視所有可用的區域 add port 埠號 tcp 允許該埠服務通過 臨時性 remove port 埠號 tcp 移除該埠的許可...

使用定時任務執行powershell指令碼

使用windows 任務計畫程式呼叫指令碼 download.ps1。在程式或指令碼這裡填寫的和呼叫 bat 的不同,以往這裡一般是執行指令碼 bat 的路徑,但是這裡只寫上powershell,而在新增引數 可選 這裡寫上 ps1指令碼的完整路徑。如圖 附上更新scep病毒庫的指令碼 伺服器端 s...