案例需求

——公司配备了一台Linux服务器用于分公司员工的技术培训,因此需要经常成批量的添加用户帐号;另外该服务器还用于运行培训部的Web站点,需要经常监控网站服务程序的运行状态

需求描述

编写脚本程序用于监测系统服务httpd的运行状态

当服务状态失常时在“/var/log/htmon.log”文件中记入日志

自动将状态失常的httpd服务重新启动

若重启httpd服务失败,则尝试重新启动服务器主机

编写计划任务,周一至周五期间每隔15分钟执行一次监测任务

编写脚本程序用于批量添加用户

提供交互,能根据提示指定添加用户的数量(少于100)、用户名前缀,并能设置帐号的失效时间、初始密码

用户名编号统一使用2位数,如使用“01”、“02”的形式

编写脚本批量删除用户

通过命令行参数指定要删除用户的名称前缀

删除以该前缀开头的所有用户,但要防止误删除root用户

实现思路

编写htmon.sh脚本文件用于监测httpd服务状态

clip_p_w_picpath002

通过“service httpd status” 命令的返回值判断服务状态

使用重定向符号“>>”追加记录日志

clip_p_w_picpath004

clip_p_w_picpath006

结合crond计划任务定期执行

clip_p_w_picpath008

clip_p_w_picpath010

编写myuadd.sh脚本用于批量添加用户帐号

clip_p_w_picpath012

使用read命令提示用户输入变量值进行交互

使用while语句循环执行添加用户的命令操作

使用if语句判断用户编号,小于10时自动在前缀后补”0”

clip_p_w_picpath014

clip_p_w_picpath016

执行脚本:

clip_p_w_picpath018

编写myudel.sh脚本用于批量删除用户帐号

clip_p_w_picpath020

通过位置参数“$1”传递要删除用户的名称前缀

结合“grep -v root”排除掉root用户

使用for循环批量删除符合条件的用户

clip_p_w_picpath022

clip_p_w_picpath024

执行脚本:

clip_p_w_picpath026