当前位置: 首页 > news >正文

【Shell脚本自动化编写——报警邮件,检查磁盘,web服务检测】

Shell脚本自动化编写

  • Shell脚本自动化编写
    • 一、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。
      • 第一步:准备工作
      • 第二步:配置邮件信息
      • 第三步:检查磁盘的自动化脚本
    • 二、判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断该程序是否运行),如果没有运行,则启动该服务并配置防火墙规则。
      • 第一步:准备工作
    • 三、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web services running;如果不能正常访问,返回12状态码。

Shell脚本自动化编写

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

第一步:准备工作

下载所需软件

[root@master ~]# yum install mailx -y &> /dev/null # "&> /dev/null" 不显示下载内容,丢到系统垃圾桶

第二步:配置邮件信息

1、配置邮件ssl证书

[root@master ~]# mkdir -p /root/.certs
[root@master ~]# cd  /root/.certs[root@master .certs]# echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt[root@master .certs]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt[root@master .certs]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt[root@master .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

2、获取授权码

# 进入qq邮箱网页版 --> 设置 --> 账号 --> 招到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务开启服务 --> 获取授权码

在这里插入图片描述

3、配置邮件服务

[root@master ~]# vim  /etc/mail.rc
# 最后一行添加以下内容:set from=119****167@qq.com				# 填自己的qq邮箱
set smtp=smtps://smtp.qq.com:465         # ssl端口默认465
set smtp-auth-user=119****167@qq.com		# 填自己的qq邮箱
set smtp-auth-password=doc****qdubqbibj  # 授权码
set smtp-auth=login
set nss-config-dir=/root/.certs/     # 设置证书路径
set ssl-verify=ignore                # 启用加密ssl传输# 注意:该文件输入完毕有的系统需要强制保存退出,输入wq!

4、测试邮件服务

[root@master .certs]# echo  "Hello Dyy" | mail -s "HXD" 119****167@qq.com

第三步:检查磁盘的自动化脚本

1、编辑检查磁盘的自动化脚本

[root@master ~]# vim disk.sh  # 创建检查磁盘容量脚本#!/bin/bash
# 功能:磁盘剩余容量检查
disk=$(df -m | grep -w / | tr -s " " | cut -d " " -f4)
if (($disk<200000))
then            echo "Warning : disk space less than 20G" | mail -s "邮箱>警告!" 119*****67@qq.com
fi

在这里插入图片描述

2、检测

[root@master ~]# bash disk.sh

在这里插入图片描述

3、每天检查一次磁盘剩余空间

# 编辑时间任务器
[root@master ~]# vim /etc/crontab 

在这里插入图片描述

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

第一步:准备工作

1、编辑脚本文件

# 进入脚本文件
[root@master ~]# vim choice_server.sh 

在这里插入图片描述

2、测试

[root@master ~]# bash choice_server.sh

在这里插入图片描述

3、通过查看端口的方式判断该程序是否运行

[root@master ~]# netstat -lntup | grep 22 | grep tcp -w

在这里插入图片描述

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

1、编辑脚本文件

# 进入脚本文件
[root@master ~]# vim check_web.sh

在这里插入图片描述

2、测试

[root@master ~]# bash check_web.sh 
Web services running!

在这里插入图片描述

http://www.lryc.cn/news/607656.html

相关文章:

  • Windows安装虚拟机遇到内容解码失败
  • python-异常(笔记)
  • Java学习-运算符
  • Java:JWT 从原理到高频面试题解析
  • 【Linux】重生之从零开始学习运维之Mysql
  • Rust在CentOS 6上的移植
  • 2025.8.1
  • 1661. 每台机器的进程平均运行时间
  • 系统开机时自动执行指令
  • 基于python大数据的招聘数据可视化及推荐系统
  • 算法思想之 多源 BFS 问题
  • 【Node.js安装注意事项】-安装路径不能有空格
  • PNP机器人机器人学术年会展示灵巧手动作捕捉方案。
  • MySQL分析步
  • Android签名轮转
  • Conda install安装了一些库,如何撤销操作
  • 第13届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2022年3月13日真题
  • 外卖“0元购”退场后,即时零售大战才刚开始
  • CORS模块:你的跨域快速通行证 [特殊字符]
  • 【C语言入门级教学】字符指针变量
  • Java 23 新特性解析与代码示例
  • 嵌入式学习日志————TIM输入捕获
  • EasyGBS的两种录像回看
  • 抢占先机,PostgreSQL 中级专家认证的职业跃迁
  • 学习:入门uniapp Vue3组合式API版本(17)
  • Linux文件系统:从内核到缓冲区的奥秘
  • 如何创建一个飞书应用获取自己的飞书AppID和AppSecret?
  • 力扣面试150题--数字范围按位与
  • QPS 与 TPS 的详细解释及核心区别
  • gdrcopy 原理、安装与示例