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

一个统计Linux用户登陆时间的脚本

2012-02-02 21:35 357 查看
#!/bin/bash
#This script is used to general a statistics report for user login
#ken.zhang
while :
do
read -p "please input username:" username
count=`cat /etc/passwd|cut -d: -f1|grep -c "$username\>"`
#count=`grep -c $username /etc/passwd`  # 非精确匹配,输入roo 等也会计算在内,不符合要求。
if [ $count -eq 0 ];then
echo "Not a valid user!!!"
continue;
else
logintime=`last|grep -c "$username"`
if [ $logintime -eq 0 ];then
echo "User never login via console!!!"
continue;
fi
fi
hour=`last|grep -E 'pts|tty'|grep "$username"|grep -v 'still'|awk -F '(' '{print $2}'|awk -F ')' '{print $1}'|awk -F ':' '{sum+=$1};END{print sum}'`
min=`last|grep -E 'pts|tty'|grep "$username"|grep -v 'still'|awk -F '(' '{print $2}'|awk -F ')' '{print $1}'|awk -F ':' '{sum+=$2}END{print sum}'`
let "fhour=$hour+$min/60"
let "fmin=$min%60"

cat << EOL
########## User Login Report #########
--- User Name --- Total Login Time ---
$username          $fhour hour $fmin min
EOL
done


本文出自 “凯骑龟来~~” 博客,请务必保留此出处http://zzkai.blog.51cto.com/804611/771418
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐