背景:
在應用程式中,經常需要配置ftp空間存放資料,同樣資料庫也需要大量的磁碟存放業務資料。如果ftp和資料庫磁碟空間不夠,卻沒有及時通知相關人員進行處理,就會導致程式錯誤或者資料庫無法儲存資料。這類故障是及其嚴重的。
shell指令碼(disk_space_warn.sh):
#!/bin/bash #
# 監控磁碟使用空間是否超限
# chm,
# 2011/11/22
## config.txt配置需要監控磁碟路徑,格式為:磁碟路徑|使用限制|超限告警資訊
# 每次告警資訊會記錄在檔案warn.log中,這裡可以修改邏輯,以簡訊的方式傳送告警#
username=$(whoami)
deploy_dir="/home/$/disk_space_warn"
cat $/config.txt | while read tmp
dodisk_path=$(echo $ | awk -f\| '')
limit=$(echo $ | awk -f\| '')
warn_info=$(echo $ | awk -f\| '')
is_warn=$(df -h $ | awk -v limit="$" -f disk_space_warn.awk)
if [ $ $" >> $/warn.log
fidone
awk指令碼(disk_space_warn.awk):
# 僅取第二行進行分析, 因awk中比較方便進行小數、整數、字串比較,
# 而bash中可以方便地進行整形比較,所以建議在awk中進行此類操作
nr==2 else
}採用crontab配置定時任務:
crontab -e
末尾輸入如下內容:
*/10 * * * * sh [deploy_dir]/disk_space_warn.sh
注:1. 檢視crontab定時任務配置命令:crontab -l
2. [deploy_dir]為實際部署disk_space_warn.sh監控指令碼的路徑
shell指令碼之awk
一 什麼是awk awk其實相當於一門可以處理資料文字的語言,這麼說的原因是其具有很多類c語言的語法,如 變數,陣列,函式,流程控制等,其由aho,weinberger,kernighan大約在1977年開發完成,隨後被引入unix linux中。二 awk可以幹什麼 awk是乙個非常強大的資料處理...
shell指令碼 awk的用法
語法格式 awk 選項 指令 操作檔案 常用選項 f 指定分隔符,分隔符用 引起來 v var value在awk程式開始之前指定乙個值valu給變數var,這些變數值用於awk程式的begin快 f 後面跟乙個儲存了awk程式的檔案,代替在命令列指定awk程式 awk 1.txt 逐行讀取檔案1....
shell指令碼之awk 一
2.linux中常用的awk編譯器版本有mawk,gawk。redhat使用的是gawk,ubuntu使用的是mawk.1.逐行掃瞄檔案,尋找匹配你指定模式的行,並在這些行上執行你指定的操作 2.awk 基本結構包括模式匹配 用於找到要處理的行 和處理過程 即處理動作 3.awk 有兩個特殊的模式 ...