shell第一次作业

1:判断当前磁盘剩余空间是否20g,若小于20g,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间

# 1 邮件配置
[root@server ~]# yum  install s-nail -y #下载mial依赖源
[root@server ~]# vim /etc/s-nail.rc #进入邮件配置文件
#在最后一行插入邮件配置参数
set from=835810395@qq.com  
set smtp=smtp.qq.com
set smtp-auth-user=835810395@qq.com
set smtp-auth-password=dbltcxjzlidfbfae #邮箱授权码
set smtp-auth=login
wq! #强制保存退出


# 2 shell脚本配置
[root@server ~]# vim disk1.sh #编写脚本文件

#!/bin/bash
#将当前磁盘空间显示出来交给disk变量
disk= `df -h | grep -w / | cut -d " " -f9` 
#将警告提示交给str1变量
str1="kong jian xiao yu 20g" 

if [ $disk -lt 20000  ]
then
        echo "$str1" | mail -s "$str1" 835810395@qq.com
fi


#3:crontab 配置
[root@server ~]# vim /etc/crontab  #进入周期性时间配置
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
0 0 * * * root /bin/bash /root/disk1.sh # 每天凌晨0:00发送
~                                              
wq 

2:判断web服务是否运行(1.查看进程的方式判断该程序是否运行,2.通过查看端口的方式判断程序是否运行)如果没有运行,则启动该服务配置并配置防火墙规则。

[root@server ~]# vim web1.sh
#!/bin/bash
ps=`ps -ef | grep "httpd" | grep -v "grep" | wc -l` #查找过滤httpd运行的个数;grep -v "grep" 是过滤掉grep查找httpd的进程
if [ "$ps" -gt 0 ]
then
        echo "httpd is already running"
else
        echo "httpd is not start , please waiting..."
        yum install httpd -y &> /dev/null
        systemctl start httpd
        systemctl start firewalld
        firewall-cmd --permanent --zone=public --add-service=http>/dev/null #防火墙永久生效,在当前public域,添加http服务。到黑洞
        firewall-cmd --permanent --zone=public --add-port=80/tcp > /dev/null #防火墙永久生效,在当前public域,添加80端口。到黑洞
        firewall-cmd --reload > /dev/null
        echo "httpd is already running"
fi

wq
[root@server ~]# bash web1.sh
httpd is not start , please waiting...
httpd is already running
[root@server ~]# ps -ef | grep "httpd"
root        3321       1  0 14:51 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     20005    3321  0 14:51 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     20006    3321  0 14:51 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     20007    3321  0 14:51 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     20009    3321  0 14:51 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root       32099    1253  0 14:52 pts/0    00:00:00 grep --color=auto httpd


3:使用curl命令访问第二题的web服务,看能否正常访问,如果可以,则返回web server is running ;如果不能 ,则返回12状态码

[root@server ~]# vim web2.sh
#!/bin/bash

curl -s 192.168.6.128 > /dev/null

if (($?==0))
then
        echo "web server is running"
else
        echo "web not accessible"
        exit 12
fi
wq

[root@server ~]# bash web2.sh
web server is running
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值