上週遷移幾台機器環境,乙個模組的機器磁碟只有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 ...