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

《Linux自动化运维三例:磁盘告警、服务守护与网络检测》​

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

(1)首先找到磁盘剩余空间

[root@master ~]# df -m
文件系统                   1M-块  已用  可用 已用% 挂载点
devtmpfs                       4     0     4    0% /dev
tmpfs                       1688     0  1688    0% /dev/shm
tmpfs                        676     9   667    2% /run
tmpfs                          4     0     4    0% /sys/fs/cgroup
/dev/mapper/openeuler-root 27039  2043 23598    8% /
tmpfs                       1688     0  1688    0% /tmp
/dev/sda1                    974   145   762   16% /boot
[root@master ~]# df -m | grep -w / 
/dev/mapper/openeuler-root 27039  2043 23598    8% /
[root@master ~]# df -m | grep -w / | tr -s " "
/dev/mapper/openeuler-root 27039 2043 23598 8% /
[root@master ~]# df -m | grep -w / | tr -s " " | cut -d " " -f4 
23598
#"grep -w /" 精准过滤,“tr -s " 缩小间隔为一个空格,“cut -d " " -f4” 取出以空格为分界的第四个数据

请添加图片描述

(2)实现邮件告警

​ 配置邮件证书

[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
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root G2
verify return:1
depth=1 C = US, O = "DigiCert, Inc.", CN = DigiCert Secure Site OV G2 TLS CN RSA4096 SHA256 2022 CA1
verify return:1
depth=0 C = CN, ST = Guangdong Province, L = Shenzhen, O = Shenzhen Tencent Computer Systems Company Limited, CN = *.mail.qq.com
verify return:1
DONE
[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
Notice: Trust flag u is set automatically if the private key is present.

​ 配置邮件服务

[root@master .certs]# vim /etc/mail.rc
在配置文件中的最后一行添加以下内容

请添加图片描述

(3)将时间同步

在阿里云镜像网站https://developer.aliyun.com/mirror/的NTP配置文件拷贝进去

[root@master ~]# vim /etc/chrony.conf
[root@master ~]# chronyc sources -v.-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 203.107.6.88                  2   6   177    32   -940us[-1247us] +/-   34ms
[root@master ~]# date
2025年 07月 31日 星期四 13:32:31 CST

请添加图片描述

(4)编写脚本

[root@master ~]# vim test1.sh

请添加图片描述

(6)编写系统计划任务

[root@master ~]# vim /etc/crontab 

请添加图片描述

(7)测试

为了测试将小于20G给报警邮件发送给管理员改为了30G

请添加图片描述

请添加图片描述

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

编写脚本

[root@master ~]# vim test2.sh

请添加图片描述
运行脚本

请添加图片描述

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

编写脚本

请添加图片描述

运行脚本

请添加图片描述

http://www.dtcms.com/a/308217.html

相关文章:

  • Mysql超详细安装配置教程(详细图文,保姆级)
  • 掩码语言模型(MLM)技术解析:理论基础、演进脉络与应用创新
  • 【Prompt集合】一个学习英文单词更好的提示词
  • 从姑苏区人工智能大模型基础设施招标|学习服务器、AI处理器、GPU
  • 数据结构 ArrayList与顺序表
  • 机器学习——互信息(超详细)
  • 【物联网】基于树莓派的物联网开发【19】——树莓派搭建MQTT客户端及MQTTX使用
  • Vision Transformer(ViT)模型实例化PyTorch逐行实现
  • 从 MySQL 迁移到 TiDB:使用 SQL-Replay 工具进行真实线上流量回放测试 SOP
  • SpringBoot3.x入门到精通系列:1.2 开发环境搭建
  • 25-vue-photo-preview的使用及使用过程中的问题解决方案
  • 实战教程 ---- Nginx结合Lua实现WAF拦截并可视化配置教程框架
  • 走进computed,了解computed的前世今生
  • 【云故事探索】NO.16:阿里云弹性计算加速精准学 AI 教育普惠落地
  • 谁在托举Agent?阿里云抢滩Agent Infra新赛道
  • 安装 docker compose v2版 笔记250731
  • 对接八大应用渠道
  • Tomcat,WebLogic等中间件漏洞实战解析
  • 大模型流式长链接场景下 k8s 优雅退出 JAVA
  • 用 MyBatis + MySQL 实现高效的批量 Upsert
  • 关于tresos Studio(EB)的MCAL配置之GtmCfg
  • 性能测试篇 :Jmeter监控服务器性能
  • Golang 语言的编程技巧之类型
  • 基础组件(六):网络缓冲区设计 和 定时器方案
  • TTS语音合成|GPT-SoVITS语音合成服务器部署,实现http访问
  • Vue3+Vite项目如何简单使用tsx
  • nl2sql grpo强化学习训练,加大数据量和轮数后,准确率没提升,反而下降了,如何调整
  • PostgreSQL dblink 与 Spring Boot @Transactional 的事务整合
  • Text2SQL 智能问答系统开发-预定义模板(二)
  • docker离线安装mysql镜像