目录
一. 第一题
判断当前磁盘剩余空间是否有
20G
,如果小于
20G
,则将
报警邮件发送给管理员,每天检查一次磁盘剩余空间。
1、安装邮件服务
获取SMTP服务建立连接时的身份验证码
在QQ邮箱中点击设置、账号找到下面选项,点击管理服务
点击生成授权码
[root@server ~]# yum install s-nail -y
[root@server ~]# vim /etc/s-nail.rc #编辑s-nail邮件客户端的配置文件
#在文件最后添加
set from=999@qq.com #设置邮件的发件人地址
set smtp=smtp.qq.com #设置SMTP服务器的地址
set smtp-auth-user=999@qq.com #指定SMTP服务器身份验证的用户名
set smtp-auth-password=qtbns.......caac #指定SMTP服务器身份验证的密码
set smtp-auth=login #设置SMTP服务器的身份验证方式为登录方式
2、编写脚本
[root@server ~]# vim work1.sh
#!/bin/bash
number=$(df -m | grep -w / | tr -s " " | cut -d " " -f4) #获取可用磁盘大小(单位M)
war="警告磁盘空间小于20G当前磁盘空间为$(($number/1024))G"
if (($number<20480))
then
echo "$war" | mail -s "$war" 999@qq.com #如果磁盘空间小于20G发送警告邮件(假QQ)
else
echo "磁盘空间充足还剩余$($number/1024)"
fi
3、系统计划任务
[root@server ~]# vim /etc/crontab
0 0 * * * root bash /root/work1.sh
#0 0 * * * 表示在每天的午夜(00:00)执行任务。
#root 表示以root用户的身份运行该任务。
#bash /root/work1.sh 表示要执行的命令是在bash中运行 /root/work1.sh 脚本。
4、测试结果
可以先将系统计划任务设为每分钟发送一次查看正确性
二. 第二题
判断
web
服务是否运行(
1
、查看进程的方式判断该程序
是否运行,
2
、通过查看端口的方式判断该程序是否运
行),如果没有运行,则启动该服务并配置防火墙规则。
1、编写脚本
[root@server ~]# vim work2.sh
#!/bin/bash
ps=$(ps -ef | grep httpd | grep -v grep | wc -l)
if (($ps > 0 ))
then
echo "httpd 已运行"
else
echo "http 未运行"
yum install httpd -y > /dev/null
systemctl start httpd
systemctl start firewalld
firewall-cmd --permanent --zone=public --add-service=http > /dev/null
#这将允许通过HTTP协议访问服务器。命令的输出将被丢弃,不会显示在终端上
firewall-cmd --permanent --zone=public --add-port=80/tcp >/dev/null
#这将允许通过TCP协议访问端口80。命令的输出将被丢弃,不会显示在终端上
echo "http已运行"
fi
2、脚本测试
运行脚本
查看http是否运行
三. 第三题
使用
curl
命令访问第二题的
web
服务,看能否正常访问,
如果能正常访问,则返回
web server is running
;如果不
能正常访问,返回
12
状态码。
1、编写脚本
[root@server ~]# vim work3.sh
#!/bin/bash
ip=$(ip a | grep ens160 | grep inet | tr -s " " | cut -d " " -f3 | cut -d "/" -f1)
#将ip地址切割出来
curl -s $ip > /dev/null
if (($?==0))
then
echo "web已运行"
else
echo "Web未运行"
exit 12
fi