如何运用SHELL脚本写一个监测系统用户登陆情况的脚本?

2019-03-06  本文已影响0人  RealLuo

要求:

每分钟监测系统登陆用户的总数,如果超过3人,则发邮件给管理员报警;

操作流程:

第一步、查看当前登陆的用户数量;

who  |  wc  -l      

##译为:查看当前登陆系统的总数;

第二步、运用vim文本编辑器,创建一个shell脚本文件,进行条件判断,当登陆系统的用户数量超过3个时,则发送邮件给管理员;;

vim   /user.sh     

##译为:运用vim创建一个名为list.sh的脚本文件,放到根目录下;

x=`who  |  wc  -l`     

##译为:为 x 这个变量名赋值为:`who | wc -l` ;

[   $x -ge 3  ]  &&  echo  警告,有外人入侵系统  |  mail   -s  test  root  

##译为:当变量 $x (也就是当前登陆用户) 大于等于3时,则echo输出 “警告,有外人入侵系统” ,并把这句话用邮件发送给管理员;

第三步、配置周期性计划任务;

crontab  -e  -u  root   ( 编写周期性任务的命令 )

* * * * *     bash  /list.sh     

 ##译为:每分,每时,每天,每月,每周都执行一次这  bash  /list.sh 条命令;

crontab   -l  -u  root     ( 查看周期性任务命令)

* * * * *     bash  /list.sh

最后,验证脚本是否成功。

mail  查看邮件

当登陆用户等于或者超过3个时,5分钟后,输入 mail 应该会出现下面这种情况:

[root@server0 ~]# mail

Heirloom Mail version 12.5 7/5/10.  Type ? for help.

"/var/spool/mail/root": 134 messages 131 unread

    1 root                  Wed Mar  6 11:34  19/621  "test"

>U  2 root                  Wed Mar  6 11:39  19/620  "test"

U  3 root                  Wed Mar  6 11:40  19/620  "test"

U  4 root                  Wed Mar  6 11:41  19/620  "test"

U  5 root                  Wed Mar  6 11:42  19/620  "test"

以上.....


祝:开心!

罗贵

2019-03-06于深圳

上一篇 下一篇

猜你喜欢

热点阅读