当前位置: 首页 > 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.xdnf.cn/news/1227043.html

相关文章:

  • 如何理解推理模型
  • Windows和Linux的tree工具
  • 系统开机时自动执行指令
  • 力扣热题100---------206.反转链表
  • 查看主板信息的3种方法
  • 大模型推理引擎总结
  • 神经网络学习笔记
  • 每日面试题18:基本数据类型和引用数据类型的区别
  • 8.1IO进程线程——文件IO函数
  • Springboot 配置 doris 连接
  • LRU缓存淘汰算法的详细介绍与具体实现
  • VSCode Python 与 C++ 联合调试配置指南
  • 电商项目_性能优化_数据同步
  • Python day31
  • Implement recovery based on PITR using dump file and binlog
  • U-Net vs. 传统CNN:为什么医学图像分割需要跳过连接?
  • 使用gcc代替v语言的tcc编译器提高编译后二进制文件执行速度
  • 9.1无法恢复的错误与 panic!
  • 第二十三天(数据结构:链表补充【希尔表】)
  • golang的函数
  • 完整复现cacti的RCE
  • 机试01-C++基础语法与库函数
  • 大模型结构比较
  • python学智能算法(三十))|SVM-KKT条件的数学理解
  • 第七章 愿景12 小萍分享《人性的弱点》
  • WaitForSingleObject 函数参数影响及信号处理分析
  • C语言:20250801学习(构造类型)
  • JS-第十九天-事件(一)
  • 通过观看数百个外科手术视频课程来学习多模态表征|文献速递-医学影像算法文献分享
  • 从0开始学习R语言--Day64--决策树回归