当前位置: 首页 > 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.dtcms.com/a/309041.html

相关文章:

  • 了解Reddit自动化 社区营销更精准
  • CSS组件化样式新篇章:@scope
  • vi/vim跳转到指定行命令
  • 机器学习第二课之逻辑回归(二)LogisticRegression
  • LSTM网络从浅入深原理级讲解与Pytorch逐行讲解实现
  • [python][selenium] Web UI自动化8种页面元素定位方式
  • K8S周期性备份etcd数据实战案例
  • 番茄项目3:完成了项目的数据库设计
  • npm报错:npm install 出现“npm WARN old lockfile”
  • ZED 2/2i 相机安装与调试完整指南 | Ubuntu 20.04 + CUDA 11.8
  • k8s云原生rook-ceph pvc快照与恢复(下)
  • 前端SWR策略:优化数据请求
  • STM32学习记录--Day5
  • AG-UI 协议全面解析--下一代 AI Agent 交互框架医疗应用分析(下)
  • 接口幂等性
  • 【Flutter】双路视频播放方案
  • 《R for Data Science (2e)》免费中文翻译 (第3章) --- Data transformation(1)
  • Jupyter Notebook 使用指南
  • Idea集成Jenkins Control插件,在IDEA中触发Jenkins中项目的构建
  • 【数据可视化-78】2025年上半年广东省各市GDP排名深度解析与可视化:Python + Pyecharts 深度洞察(含完整数据、代码)
  • 【Linux学习|黑马笔记|Day1】Linux初识、安装VMware Workstation、安装CentOS7、远程连接、虚拟机快照
  • Cradle:颠覆AI Agent 操作本地软件,AI驱动的通用计算机控制框架,如何让基础模型像人一样操作你的电脑?
  • 九、Maven入门学习记录
  • 嵌入式筑基之STM32启动流程
  • AG-UI 协议全面解析--下一代 AI Agent 交互框架医疗应用分析(上)
  • SQL注入SQLi-LABS 靶场less25a-28a详细通关攻略
  • LoRA低秩适配的原理
  • anaconda searchanaconda show | conda 检索包资源安装指定版本包指定源安装命令package
  • Mysql-视图,函数,存储过程,触发器
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(12):文法+单词