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

相关推荐
新时代牛马11 小时前
单机 docker run 管不住了?从编排需求、期望状态到调度/自愈闭环讲透
运维·docker·容器
youyou-060612 小时前
AUTOSAR‑COM 常见问题 QA (1)
java·linux·服务器·单片机·汽车
代码方舟12 小时前
零信任架构实战:基于天远全能消金报告构建自动化信用合规网关
运维·人工智能·架构·自动化
m0_7436975912 小时前
grep 的引号、反斜杠与正则方言:一次讲清我踩过的坑
linux
KANGBboy12 小时前
doris+kafka安装部署(单机+集群)二时钟服务器 java_home
服务器·分布式
虚无的纽扣12 小时前
【Linux】每个进程都拥有“假内存” | 进程地址空间详解
linux·运维·服务器
qq_3494479512 小时前
Jenkins如何创建一个只能查看固定项目的账号
运维·jenkins
小马同学-12 小时前
OpenStack 镜像管理:Glance 镜像服务实验
运维·云计算·openstack
boke112百科13 小时前
怎么将Cloudflare Pages子域名301跳转到自定义域名?
运维·cloudflare·静态网站·301重定向
拂拉氏13 小时前
【知识讲解】 Linux进程的回收相关接口了解
linux·进程回收