-
1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。 2、判断web服务是否运行(1、查看进程的方式判断该程序是否运行 2、通过查看端口的方式判断该程序是否运行),如果没有运行,则启动该服务。 3、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web server is running;如果不能正常访问,返回12状态码。思路:
#!/bin/bash
cipan=20
email="2530689312@qq.com"space=$(df -BG / | awk 'NR==2 {print $4}' | sed 's/G//')
# 比较剩余空间是否小于阈值
if (( cipan < space )); then
echo "磁盘剩余空间不足 ${cipan}GB,请及时处理。" | mail -s "磁盘空间报警" $email
fi
报错了最后一行的mail功能出现问题
找到问题redhat9中无法支持使用mail和mailx功能发送邮件
我们下载一下sendmail
更改一下脚本文件
实现。crontab -e
0 0 * * * /path/to/checkdisk.sh(12点运行)
2.
这里发现少个空格 更改
服务出错 先不管,脚本运行正常了
3.
实现这里定义了一个output 报错直接显示这个变量
成功
#!/bin/bash
url="192.168.42.131"
output=$(curl $url 2>&1)
if [ $? -eq 0 ]; then
echo "Web server is running!"
else
echo "Error: $output"
exit 12
fi