一个统计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
相关文章推荐
- 求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
- 求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
- 求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
- 手工添加一个linux用户并能登陆
- 《Advanced Bash-scripting Guide》学习(四):一个显示时间日期登录用户的脚本
- Linux下查看用户登陆后的操作记录及history命令显示时间
- 一个linux samba添加用户的脚本
- 一段linux上统计平均响应时间的awk脚本
- 《指定一个用户只能在特定的时间里不能登陆》『罗斌原创』
- 用js统计用户下载网页所需时间的脚本
- 连续时间查询问题-查询一个用户连续登陆天数超过N天的用户
- 【Shell】建立一个脚本统计当前登录用户数
- 用js统计用户下载网页所需时间的脚本
- Linux下查看用户登陆后的操作记录及history命令显示时间
- linux 利用wtmp 日志记录并分析用户登陆统计
- linux 开机以某一个用户执行脚本
- Linux统计机器上登陆失败的用户数量
- linux用户登陆记录脚本
- [linux学习笔记]第2天:时间管理,命令帮助信息,文本查看,权限及用户管理,BASH和变量,脚本
- 写了一个Linux下批量添加用户的shell脚本