shell脚本任务

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

root@Server-NFS-DNS \~# yum install mailx -y

root@Server-NFS-DNS \~# vim /etc/mail.rc

root@Server-NFS-DNS \~# vim disk.sh

root@Server-NFS-DNS \~# bash disk.sh

set from=1658635147@qq.com

set smtp=smtp.qq.com

set smtp-auth-user=1658635147@qq.com

set smtp-auth-password=jeez.....gei

set smtp-auth=login

编写脚本

#!/bin/bash

disk=$(df -m | grep -w "/" | tr -s " " |cut -d " " -f4)

str1="Warning! disk space less than 20G!"

if "$disk" -lt 20000

then

echo "str1" \| mail -s "str1" 1658635147@qq.com

fi

测试能否发送

root@Server-NFS-DNS \~# bash disk.sh

编写周期性计划

root@Server-NFS-DNS \~# vim /etc/crontab

0 0 * * * root /bin/bash /root/disk1.sh

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

root@Server-NFS-DNS \~# vim web.sh

#!/bin/bash

ps=`ps -ef | grep "httpd" | grep -v "grep" | wc -l`

if "$ps" -gt 0

then

echo "htppd is already running"

else

echo "httpd not started,waiting......"

yum install httpd -y &> /dev/null

systemctl start httpd

systemctl start firewalld

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

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

firewall-cmd --reload > /dev/null

echo "httpd is already running."

fi

root@Server-NFS-DNS \~# bash web.sh

测试

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

root@node \~# vim web1.sh

#!/bin/bash

curl -s 192.168.118.131 > /dev/null

if (($?==0))

then

echo "web server is running"

else

echo "web not accessible"

exit 12

fi

测试

相关推荐
不会C语言的男孩7 分钟前
Docker 在嵌入式设备中的常用玩法
运维·docker·容器
神州世通7 分钟前
IP Office内置外显卡兼容性说明
服务器·网络·tcp/ip
ylscode15 分钟前
CVE-2026-31694 漏洞深度分析:Linux 内核 FUSE 组件存在本地提权风险,普通用户可直取 root 权限
linux·运维·服务器
frank00600711 小时前
Rocky 9.8设置本地yum源
服务器
智脑API平台1 小时前
Codex CLI 怎么用 .env 配置 API Key?本地项目和自动化脚本接入教程
运维·自动化
土星云SaturnCloud1 小时前
边缘计算在储气库调峰智能管控中的应用:架构设计与技术解析
服务器·人工智能·ai·边缘计算
无足鸟ICT1 小时前
【RHCA+】bash命令
linux·开发语言·bash
weixin_307779132 小时前
Linux下Docker Compose里运行的MySQL数据库故障诊断Shell脚本
linux·运维·mysql·docker·自动化
甄同学3 小时前
第十七篇:Bash Executor命令执行器,安全运行Shell命令
开发语言·安全·bash
流浪0013 小时前
Git篇(三):吃透远程协作:SSH 密钥、分支、标签全流程实战指南
运维·git·ssh