SHELL训练营--day14_shell练习

#查用户
#!/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

猜你喜欢

转载自blog.51cto.com/sincethen/2339956