1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。
[root@Server ~]# yum install -y mailx
[root@Server ~]# yum -y install bind-utils
[root@Server ~]# vim /etc/mail.rc
set from=15339232034@163.com
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=15339232034@163.com
set smtp-auth-password=PVw7kZuYqpjYij3E
set smtp-auth-login
[root@Server ~]# vim remaining_disks.sh
#/bin/bash
remaining_disks=$(df -h | grep "\/$" | cut -d" " -f4 | cut -d"G" -f1)
msg="当前磁盘空间小于20g,请及时处理"
if [ ${remaining_disks} -lt 20 ]
then
echo $msg | mail -s "内存报警" 15339232034@163.com
fi
[root@Server ~]# crontab -l
0 0 * * * /usr/bin/sh /root/remaining_disks.sh
2、判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断该程序是否运行),如果没有运行,则启动该服务并配置防火墙规则。
[root@Server ~]# vim nginx_process.sh
#/bin/bash
pro=$(netstat -lntup |grep -w 80 |wc -l)
if [ $pro -gt 0 ]
then
echo "the nginx services is running"
else
echo "the nginx services is not running"
systemctl start nginx
systemctl start firewalld
firewall-cmd --permanent --zone=public --add-port=80/tcp &>/dev/null
firewall-cmd --permanent --zone=public --add-service=http &> /dev/null
firewall-cmd --reload &>/dev/null
echo "nginx is already running"
fi
[root@Server ~]# vim nginx_process2.sh
#!/bin/bash
pro=$(netstat -lntup | grep -w 80 | wc -l)
if [ $pro -gt 0 ]
then
echo "nginx is running"
else
echo"nginx is not running"
systemctl start nginx
systemctl start firewalld
firewall-cmd --permanent --zone=public --add-service=http &>/dev/null
firewall-cmd --permanent --zone=public --add-port=80/tcp &>/dev/null
fi
[root@Server ~]# systemctl stop nginx