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

相关推荐
藥瓿亭23 分钟前
K8S认证|CKS题库+答案| 5.日志审计
linux·运维·docker·云原生·容器·kubernetes·cka
coder_lorraine44 分钟前
【Linux系列】Linux用户大揭秘:从“公寓住户”到“社区管理员”的奇幻之旅
linux
家庭云计算专家1 小时前
飞牛云一键设置动态域名+ipv6内网直通访问内网的ssh服务-家庭云计算专家
运维·云计算·ssh·nextcloud·ddns·动态域名解析
藥瓿锻1 小时前
2024 CKA题库+详尽解析| 15、备份还原Etcd
linux·运维·数据库·docker·容器·kubernetes·cka
bbsh20991 小时前
WebFuture:Ubuntu 系统上在线安装.NET Core 8 的步骤
linux·ubuntu·.netcore·webfuture
太阳之神aboluo2 小时前
压测软件-Jmeter
java·运维·jmeter
ZZZKKKRTSAE2 小时前
快速上手Linux全局搜索正则表达式(grep)
linux·服务器·正则表达式
有谁看见我的剑了?2 小时前
stress 服务器压力测试的工具学习
服务器·学习·压力测试
有谁看见我的剑了?2 小时前
stress-ng 服务器压力测试的工具学习
服务器·学习·压力测试
余厌厌厌2 小时前
go语言学习 第9章:映射(Map)
服务器·学习·golang