Shell練習(八)
阿新 • • 發佈:2018-02-27
linux shell 習題1:監控磁盤使用率
要求:寫一個shell腳本,檢測所有磁盤分區使用率和inode使用率並記錄到以當天日期為命名的日誌文件裏,當發現某個分區容量或者inode使用量大於85%時,發郵件通知你自己。
思路:就是先df -h 然後過濾出已使用的那一列,然後再想辦法過濾出百分比的整數部分,然後和85去比較,同理,inode也是一樣的思路。
參考答案:
#!/bin/bash # date: 2018年2月26日 log=/var/log/disk/`date +%F`.log date +'%F %T' > $log df -h >> $log echo >> $log df -i >> $log email="[email protected]" # 磁盤分區使用率 for i in `df -h|awk '{print $5}'|sed 's/%//'` do expr $i + 1 &>/dev/null if [ $? -eq 0 ];then if [ $i -gt 50 ];then python /root/shell/mail.py "$email" "disk test" "`date +'%F %T'` disk warning..." fi fi done # inode使用率 for i in `df -i|awk '{print $5}'|sed 's/%//'` do expr $i + 1 &>/dev/null if [ $? -eq 0 ];then if [ $i -gt 2 ];then python /root/shell/mail.py "$email" "disk test" "`date +'%F %T'` disk inode warning..." fi fi done
郵件腳本mail.py:http://blog.51cto.com/11924224/2069732
習題2:統計普通用戶
要求:寫個shell,看看你的Linux系統中是否有自定義用戶(普通用戶),若是有,一共有幾個?(假設所有普通用戶都是uid大於1000的)
參考答案:
【答案晚點公布!】
Shell練習(八)