1. 程式人生 > >Shell練習(八)

Shell練習(八)

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練習(八)