#查用戶
#!/bin/bash
v=`cat /etc/redhat-release|awk -F 'release ' '{print $2}'|cut -d '.' -f1`
user()
{
if [ $1 -eq 0 ]
then
echo "系統沒有自定義用戶"
else
echo "系統存在自定義用戶,有$1個。"
fi
}
case $v in
5|6)
n=`awk -F ':' '$3>=500' /etc/passwd|wc -l`
user $n
;;
7)
n=`awk -F ':' '$3>=1000' /etc/passwd|wc -l`
user $n
;;
*)
echo "腳本出錯。"
esac
#檢測磁盤使用量
#!/bin/bash
dir=/tmp/disk
d=`date +%F`
[email protected]
[ -d $dir ]|| mkdir $dir
df >> $dir/$d.log
df -i >> $dir/$d.log
df|sed '1d'|awk -f ' +|%' '$5>=85 {print $7}'>$dir/df.tmp
df -i|sed '1d'|awk -f ' +|%' '$5>=85 {print $7}'>$dir/df_i.tmp
n1=`wc -l $dir/df.tmp|awk '{print $1}'`
n2=`wc -l $dir/df_i.tmp|awk '{print $1}'`
tag=0
if [ $n1 -gt 0 ]
then
tag=01
fi
if [ $n2 -gt 0 ]
then
tag=$[$tag+10]
fi
case tag in
11)
python mail.py $mail "磁盤空間和inode使用率高於85%" “cat $dir/{df.tmp,df_i.tmp}”
;;
10)
python mail.py $mail "磁盤inode使用率高於85%" “cat $dir/df_i.tmp”
;;
01)
python mail.py $mail "磁盤空間使用率高於85%" “cat $dir/df.tmp”
;;
*)
exit
;;
esac
#檢測新文件
#!/bin/bash
basedir=/data/we/attachment
t=`date +%Y%m%d%H%M`
find $basedir/ -type f -mmin -5 >/tmp/file.list
n=`wc -l /tmp/file.list|awk '{print $1}'`
if [ $n -lt 0 ]
then
mv /tmp/file.list /tmp/$t.list
fi
#檢測最常用命令
#!/bin/bash
cat ~/.bash_history |sort |uniq -c |sort -nr |head
#統計文件大小
#!/bin/bash
dir=/tmp/log_stat
t=`date +%d%H`
t1=`date +%H`
logdir=/data/log
[ -d $dir ]|| mkdir $dir
[ -f $dir/$t.log ]&& rm -f $dir/$t.log
if [ $t == "00" -o $t =="12" ]
then
for f in `find $logdir/ -type f`
do
>$f
done
else
for f in `find $logdir/ -type f`
do
size=`du -sh $f`
echo $f $size >> $dir/$t.log
done
fi
SHELL訓練營--day15_shell練習16-20
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.