您的位置:首页 > 运维架构 > Shell

SHELL训练营--day14_shell练习

2019-01-08 02:15 886 查看
#查用户
#!/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`
mail=123@123.com

[ -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