linux shell指令碼定時任務 機器磁碟報警

2021-10-11 16:13:42 字數 2898 閱讀 5932

上週遷移幾台機器環境,乙個模組的機器磁碟只有40g,總是會出現no space left on device的報錯。需要寫乙個定時任務刪除日誌檔案,並設定機械人提醒。由於之前從未寫過shell,花了點時間。 思路

定時任務 crontab * * * * * ***.sh

磁碟用量 dh -lf 檢查

hi機械人介面報警

自動刪除

#!/bin/bash

. /etc/profile

. ~/.bash_profile

df -lh |

while

read line

do disk_used=

`echo $line |

awk''

|tr -cd "[0-9]"

` if[[

$disk_used -gt 90 ]];

then

echo

'磁碟容量超過使用,呼叫機械人'

}'fidone

定時任務的部署
0 */3 * * * . /etc/profile;/bin/sh /home/work/qa/auro_alarm_script.sh
注意

while read line

awkif then;fi

linux中接收curl get請求返回引數

shell字串中引用變數

crontab定時任務布置

while read line

read通過輸入重定向,把file的第一行所有的內容賦值給變數line,迴圈體內的命令一般包含對變數line的處理;然後迴圈處理file的第二行、第三行。。。一直到file的最後一行。還記得while根據其後的命令退出狀態來判斷是否執行迴圈體嗎?是的,read命令也有退出狀態,當它從檔案file中讀到內容時,退出狀態為0,迴圈繼續驚醒;當read從檔案中讀完最後一行後,下次便沒有內容可讀了,此時read的退出狀態為非0,所以迴圈才會退出。

while

read line

do …

done

<

file

#df -lh 做為輸入

command

|while

read line

do …

done

awk

#awk -f  #-f相當於內建變數fs, 指定分割字元

#擷取json

# 根據 ':' 分割,取第二個 "ad0d************xcbcc"}

awk -f ':'

''# 根據 '"' 分割,取第二個 ad0d************xcbcc

awk -f '"'

''

if … ; then … fi 條件判斷語句

#!/bin/bash

#用於字串比較if[

[`whoami

` !=

"root"]]

then

echo

"my is `

whoami`"

fi#(())用於數字比較

num1=10

if(( $num1 +

10>

20))

then

echo

"1"else

echo

"2"fi

shell字串中引用變數

#get請求返回值接收hi機械人的access_token,post請求呼叫機械人向群裡傳送報警訊息需要將

#access_token填入請求的url中

#result=$() 接收curl get請求返回引數

#使用雙引號,$引用

) curl --location --request post "http:***?access_token=$access_token"

定時任務布置

[root@*** ]$ cd /etc/init.d/

[root@*** ]$ crontab -e

#在檔案後新增一行,每三小時執行一次指令碼

#crontab五個8的意義

#0~59 表示分

#1~23 表示小時

#1~31 表示日

#1~12 表示月份

# 0~6 表示星期(0表示星期日)

0 */3 * * * . /etc/profile;/bin/sh /home/work/qa/auro_alarm_script.sh

#修改指令碼許可權

[root@*** ]$ chmod 777 /home/work/qa/auto_alarm_script.sh

#啟動定時服務!

[root@*** init.d]$ service crond stop

[root@*** init.d]$ service crond start

定時任務指令碼

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

3 定時任務指令碼

2.用於linux的定時任務指令碼 附一 kitchen與pan的使用 參考文獻 rem 轉到kitchen命令所在的資料夾下 cd d e etlsoftware kettle data integration kitchen.bat file d job manage projectjop.kj...

Shell指令碼 定時任務

yum install vixie cron yum install crontabsservice crond start 啟動服務用以下的方法啟動 關閉這個cron服務 service crond start 啟動服務 service crond stop 關閉服務 service crond ...