Chinaunix

标题: 帮忙写点脚本谢谢!!!! [打印本页]

作者: hundanclark    时间: 2011-05-26 19:14
标题: 帮忙写点脚本谢谢!!!!
1.编写htmon.sh脚本文件,用于检测httpd服务的状态。
(1)使用“service httpd status”命令测试httpd服务的状态,返回值0时表示正常,返回值为非o时表示不正常。
(2)服务状态失常时,通过重定向向追加">>"向"var/log/htmon.log "文件中写入日志记录信息。
(3)使用“service httpd restart ”命令重启httpd服务,并再次执行“service httpd status ”命令查看那httpd服务的状态。
(4)若服务仍然不正常,则使用chkconfig 命令将httpd服务设置为自启动,然后通过shutdown命令重启系统。
(5)将测试完毕后的脚本保存到文件“/opt/htmon.sh”中,病设置计划任务定期执行。每周一至周五每隔十五分钟执行一次监测任务。
2.编写myuadd.sh脚本,用于批量添加用户帐号。
(1)使用read命令提示用户输入用户数量,用户名前缀,失效时间,初始密码等变量信息。
(2)使用while语句循环执行添加用户的命令操作。
(3)使用if语句对用户编号进行判断,对小于10的帐号自动在前缀字符串末尾加上字符"0" 。
3.编写myudel.sh脚本,用于批量删除用户帐号
(1)使用管理员执行脚本时输入的第一个位置参数作为用户名前缀(建议不要短于3个字符,并尽量避免与其它无关用户重叠,以免误删!)
(2)若管理员未指定位置参数,则提示错误后结束程序(可以使用“exit 1 ”语句。1表示脚本推出后返回shell环境的状态值)
(3)使用grep命令.cut命令过滤出passwd文件中使用指定前缀的用户账号名称,结合“-v”选项排除掉root用户。
(4)注意先对“/etc/passwd”.“etc/shadow”.“etc/group”等文件做好备份,以免误删系统用户后用于恢复(删除用户前应进行仔细的核对.确认!)
(5)使用for语句循环执行删除用户帐号的命令操作。
                                                                                      请写详细点,谢谢!!
作者: shplpy    时间: 2011-05-26 20:04
哇,这是考题吗
作者: ziyunfei    时间: 2011-05-26 21:21
lfdslfsvmsalkfsdflsad'fsdf
作者: zooyo    时间: 2011-05-26 21:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: hundanclark    时间: 2011-05-26 23:26
回复 4# zooyo


    不是,我自学的!
作者: hundanclark    时间: 2011-05-26 23:26
回复 4# zooyo


    我做出来的不对
所以我想让你们帮写一份
我对比下游哪些不同
作者: shell新手    时间: 2011-05-27 11:18
回复  zooyo


    我做出来的不对
所以我想让你们帮写一份
我对比下游哪些不同
hundanclark 发表于 2011-05-26 23:26



   

那你把你做的贴出来,大家来指出哪里不对!



作者: fllintel    时间: 2011-05-27 11:27
本帖最后由 fllintel 于 2011-05-27 11:32 编辑

这个是基础啊..... 刚学别想一下子整个都写出来, 先将自己知道的一条一条命令写下来,然后在整体的连接上去. 不知道在论坛搜搜 有很多资源的
作者: hundanclark    时间: 2011-05-27 21:01
检测httpd状态:
#!/bin/bash
service httpd status &> /dev/null                                         //查看状态,strat返回的是0,stop返回的是1 。&>输出重
if [ $? -ne 0 ] ; then                                                           定向不在显示器输出
    echo  "http server is down. at time:`date`" >> /var/log/htmon.log
    service httpd restart
    service httpd status &> /dev/null
    if [ $? -ne 0 ] ; then
      chkconfig --level 2345 httpd on         
      shutdown -r now
    fi
fi

myudel.sh脚本用于批量添加用户帐号

#!/bin/bash
read -p "the number of users(1-99):" num
read -p "username prefix is:" pre
read -p "expire time is (YYYY-mm-dd):" etime
read -p "initial password is:" pw
i=1
while [ $i -le $num ]
do
   if [ $i -lt 10 ] ; then
        un="${pre}0$i"
   else
        un="${pre}$i"
   fi
   useradd -e $etime $un
   echo $pw | passwd --stdin $un &> /dev/null
   let i++
done



myudel.sh脚本用于批量删除用户帐号 不要求有交互操作
   要求管理员执行脚本时输入的第一个位置参数为用户名

#!/bin/bash                     
if [ $# -le 0 ] ; then                                /$#是表示命令行中的位置参数数量
    echo "error:the prefix of users has not be specified."    //用户的前缀并没有被指定
    echo "usage: $0 nameprefix"
    exit 1
fi
tar cjf /root/users.cnf.tar.gz /etc/passwd /etc/shadow /etc/group  &> /dev/null     //不输出到显示器
tobedel=`grep "$1" /etc/passwd | cut -d ":" -f1 | grep -v "root"`
for u in $tobedel
do
    userdel -r $u &> /dev/null
done
作者: hundanclark    时间: 2011-05-27 21:02
自己搞定!!!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2