shell脚本编写基础实战

1.判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。

第一步:配置邮件服务

yum install mailx -y ------安装邮件服务

设置邮箱服务相关配置

vim /etc/mail.rc

第二步:编写脚本用于判断磁盘剩余空间是否小于20g如果小于则发送给管理员

第三步:将脚本放到周期性的计划任务里

vim /etc/crontab

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

编写脚本

ps=$(ps -ef |grep nginx |grep -v grep|wc -l)

if(($ps>0))

then

echo "nginx is alreay running"

else

echo "nginx not start,waiting....."

yum install nginx -y > /dev/null

systemctl start nginx

systemctl start firewalld

firewall-cmd --permanent --zone=public --add-server=http > /dev/null

firewall-cmd --permanent --zone=public --add-port=80/tcp > /dev/null

firewall-cmd --reload >/dev/null

echo "nginx is alread running"

fi

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

ip=$(ip a|grep ens32|grep inet|tr -s " "|cut -d " " -f3|cut -d "/" -f1)---------获取ip

curl -s $ip >/dev/null ------访问网站得到状态码

if (($?==0))--------0为成功访问

then

echo "web server is running"

else

echo "web not accessible"

exit 12

fi

相关推荐
码农君莫笑1 分钟前
Blazor项目中使用EF读写 SQLite 数据库
linux·数据库·sqlite·c#·.netcore·人机交互·visual studio
mubeibeinv11 分钟前
项目搭建+图片(添加+图片)
java·服务器·前端
dessler16 分钟前
Docker-如何启动docker
运维·docker·云原生·容器·eureka
zhy2956316 分钟前
【DOCKER】基于DOCKER的服务之DUFS
运维·docker·容器·dufs
无为之士21 分钟前
Linux自动备份Mysql数据库
linux·数据库·mysql
秋名山小桃子31 分钟前
Kunlun 2280服务器(ARM)Raid卡磁盘盘符漂移问题解决
运维·服务器
与君共勉1213832 分钟前
Nginx 负载均衡的实现
运维·服务器·nginx·负载均衡
岑梓铭38 分钟前
(CentOs系统虚拟机)Standalone模式下安装部署“基于Python编写”的Spark框架
linux·python·spark·centos
努力学习的小廉39 分钟前
深入了解Linux —— make和makefile自动化构建工具
linux·服务器·自动化
MZWeiei42 分钟前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper