① Shell腳本程序設計
??還是???硪。。有的
② 如何利用shell腳本監控伺服器溫度
統:centos 5.5 1.監控伺服器狀態腳本內容:
01 #!/bin/bash 02
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
03
04 cpu_num=`grep -c 'model name' /proc/cpuinfo` 05
06 load_15=`uptime | awk '{print $NF}'` 07 08
average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`
09
10 average_int=`echo $average_load | cut -f 1 -d "."` 11
12 load_warn=0.70 13
14 if (($average_int > 0)); then
15 echo "$IP伺服器15分鍾的系統平均負載為$average_load,超過警
戒值1.0,請立即處理!!!" | mailx -s "$IP 伺服器系統負載嚴重告警!!!
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
" [email protected] 16 else 17
18 load_now=`expr $average_load \> $load_warn` 19
20 if (($load_now == 1)); then
21 echo "$IP伺服器15分鍾的系統平均負載達到 $average_load,超過警戒值0.70,請及時處理。" | mailx -s "$IP 伺服器系統負載告警
" [email protected] 22 fi 23 24 fi 25
26 cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."` 27
28 if (($cpu_idle < 20)); then
29
echo "$IP伺服器cpu剩餘$cpu_idle%,使用率已經超過80%,請及時
處理。" | mailx -s"$IP 伺服器CPU告警" [email protected]
30 fi 31
32 swap_total=`free -m | grep Swap | awk '{print $2}'` 33
猜你喜歡租賃一體電腦dell電腦特約維修蘋果肌注射後休息蘋果店怎麼分期付款蘋果6s64g分期付款蘋果6s零首付分期付款加固筆記本品牌孩子 培訓 電腦手機微店 app蘋果6s5.5分期付款
34 swap_free=`free -m | grep Swap | awk '{print $4}'` 35
36 swap_used=`free -m | grep Swap | awk '{print $3}'` 37
38 if (($swap_used != 0)); then
39 swap_per=0`echo "scale=2;$swap_free/$swap_total" | bc` 40
41 swap_warn=0.20 42
43 swap_now=`expr $swap_per \> $swap_warn` 44
45 if (($swap_now == 0)); then
46 echo "$IP伺服器swap交換分區只剩下 $swap_free M 未使用,剩餘不足20%,使用率已經超過80%,請及時處理。" | mailx -s "$IP 伺服器
內存告警" [email protected] 47 fi 48 49 fi 50
51
#disk_sda=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`
52 disk_sda=`df -Ph |grep /dev/mapper/VolGroup00-LogVol00|awk '{print
③ 如何使用shell腳本實現監控程序消息隊列阻塞情況
if [ ! -f user.deny ] then echo "user.deny not exist!" exit fi while [ 1 ] do sleep 3 for login_user in `who|cut -d" " -f1|sort -u -k1` do if grep $login_user user.deny >/dev/null then echo "Warning:$login_user logined" fi done
④ 如何用shell腳本實現讀取多台主機監控日誌
通過free,top命令查看cpu、內存使用信息,把結果輸入到一個文本裡面;
把上述結果上傳在你說的其中一台主機(這個上面要有ftp服務)裡面,ftp腳本就很簡單了
#!/bin/bash
top>>/home/info
free-m>>/home/${date+%F}info
ftp-i-nhost<<ok
useusernamepasswd
binary
put/home/${date+%F}info
bye
ok
exit
在這里機器上設置成定時任務,就可以定時收集信息了。
⑤ 在linux系統下,編寫一個shell腳本 實現對文件的監控
如果文件比較小,你可以備份原文件用diff來對比判斷。
因為不知道你具體是想通過什麼對比,不好說。你可以通過tripwire這個軟體來檢測,
具體安裝方法自己網路,不細說了。
如果自己寫你必須要找到一些判斷內容,比如時間,容量,如果文件包含時間戳你就可以
判斷時間戳來截取文件內容。自己寫的話就需要具體情況具體分析。
⑥ 設計一個shell腳本程序,要求有如下功能: 實現自動備份功能和清理備份等
#!/bin/bash
TIME=`date+%Y%m%d|cut-b3-8`
#question1
tar-zcvf/home/bak/VAR_$TIME_BAK.gzip/var
#question2
ls-l/var>>/home/bak/VAR_$TIME_BAK.log
#question3
find/home/bak-name'*gzip'-mtime+1|xargsrm-rf
腳本名字backup.sh,放到/root下,然後用root創建cronjob
0 12 * * * /root/backup.sh
#question 4 (以redhat為例)
echo " /root/backup.sh " >> /etc/rc.local
#question 5
把下列代碼寫入cronjob中
#!/bin/bash
TIME=`date+%Y"/"%m"/"%d""%H":"%m`
if[-f/home/shell.log]
then
echo"$TIMErunning">/home/tmp.log
cat/home/shell.log>>/home/tmp.log
mv/home/tmp.log/home/shell.log
else
touch/home/shell.log
fi
腳本名字status.sh,放到/root下 (寫的有點小問題,功能執行沒問題)
0 * * * * /root/status.sh
⑦ 編寫SHELL腳本對某目錄下指定文件進行監控
純手工寫出來的啊!
filename=file_`date +%Y%m%d`.txt
filenum=`find /home/oracle -name $filename|wc -l`
if [ $filenum -eq 0 ]
then
echo " file not find! "
else
infonum=`cat /home/oracle/$filename|grep "\^"|wc -l`
if [ $infonum -eq 0 ]
then
echo "^ not find! "
else
echo " file normal! "
fi
fi
⑧ 利用Linux系統Shell命令編寫腳本實現對用戶行為的監控和審計功能. 求大神怎麼寫啊
.bash_history記錄了你的一切,呵呵呵。
首先,執行下面命令給.bash_history文件加上只能追加的形式進行記錄
chattr +a /home/peter/.bash_history
lsattr /home/peter/.bash_history
然後,執行下面指令,修改bash以追加的方式忘給.bash_history文件中寫入內容
shopt -s histappend
最後,調用下面指令使操作命令實時寫入到.bash_history 文件中
PROMPT_COMMAND =" history -a;$PROMPT_COMMAND "
當然還要活用這幾個命令:ac, who, last, lastlog, w, sa, lastcomm等。
⑨ 求大神幫我寫一個伺服器監控腳本,用shell腳本寫。。
。。。。這還要結合你的服務才能採集到數據啊