注意:請先參考 shell監控指令碼-準備工作,監控指令碼在 rhel5 下測試正常,其它版本的linux 系統請自行測試
#監控cdn 首頁
cat chk_cdn.sh#!/bin/bash
#script_name:chk_cdn.sh
#check cdn index.html
#domain name resolution
#last update 20130320 by dongnan
#bbs#
#blog#
#tail error.log
#curl: (6) name lookup timed out
#variables
#check_time=2 #檢查間隔時間,2s
check_count=8 #故障後檢查次數,8次
fault_count=4 #故障次數大於(4次),則認為不可用
www_url=""
domain=www.test.com
sh_dir=/root/sh/
crondir=$crontab
error_log=$/log/cdn_error.log
flag_file=$/log/cdn.flag
echo=/bin/echo
curl=/usr/bin/curl
options='--connect-timeout 3 -il -a "check_cdn_www"'
source $/config
#main
test -e "$/log" || mkdir -p "$/log"
#true
if $curl $options $www_url > /dev/null 2>&1 ;then
#flag
if [ -f $flag_file ];then
#sms
#for mobile in $mobiles; do
#$echo "cdn_www ok" | /usr/local/bin/gammu --sendsms text "$mobile" -unicode
#$echo "cdn_www_index.html ok"
$done
for mail in $mails;do
$echo "$domain ok" | mail -s "cdn ok" $mail
done
#flag
test -e "$flag_file" && rm -f "$flag_file"
fi #false
else
#flag真退出指令碼
test -e $flag_file && exit 0
check_failed=0
for((i=1;i<="$check_count";i++));do
check_date=$(date '+ %f %t')
#curl 值取反
if ! $curl $options $www_url > /dev/null 2>&1;then
#變數加1
((check_failed++))
#error.log
$echo "$(/bin/date +'%f %t') $www_url $check_failed fault" >
> "$error_log"
/usr/bin/dig "$domain" >
> "$error_log"
sleep 1
fi done
if [ "$check_failed" -gt "$fault_count" ];then
#sms
#for mobile in $mobiles;do
#$echo "www_cdn_index.html error" | /usr/local/bin/gammu --sendsms text "$mobile" -unicode
#/bin/date +'%f %t' && $echo "www_cdn_index.html error"
#done
for mail in $mails;do
$echo "$domain error" | mail -s "cdn error" $mail
done
#flag
$echo "cdn_www_index.html error" > "$flag_file"
#log
fi fi
# 結束
shell指令碼 開發系統監控指令碼
某公司隨著業務的不斷發展,所使用的linux伺服器也越來越多。管理員希望編寫乙個簡單的效能監控指令碼,放到各伺服器中,當監控指標出現異常時傳送告警郵件。編寫名為sysmon.sh的shell監控指令碼 監控內容包括cpu使用率,記憶體使用率,根分割槽的磁碟占有率,百分比只需精確到個位 出現磁碟占有率...
shell小指令碼 網速監控
在windows中,我們可以在360等管家軟體中顯示網速,在linux下想要檢視實時的網速怎麼辦呢?當然在linux下也有很多 思路 在執行ifconfig檢視網絡卡資訊的時候,可以看到以下內容 ifconfig wlp2s0 wlp2s0 flags 4163 mtu 1500 inet 192....
用shell指令碼監控系統
簡單的用shell指令碼寫乙個 監控 程式作為思路,大致為 實時檢測系統的記憶體使用率,如果大於閾值那麼報警 如果有條件可以使用簡訊介面或者實在不行可以使用郵件通知 並記錄到日誌檔案裡,如果小於閾值那麼正常顯示。bin bash check mem 100 free grep i mem awk b...