linux 命令mail使用示例 —— 筑梦之路


#!/bin/bash

# 定义管理员邮箱地址
admin_email="[email protected]"

# 定义 CPU 使用率、内存使用率和磁盘使用率的阈值(百分比)
cpu_threshold=90
mem_threshold=80
disk_threshold=80

# 检查 CPU 使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
if [[ $cpu_usage -ge $cpu_threshold ]]; then
  subject="CPU 使用率过高,当前使用率为 $cpu_usage%"
  message="当前服务器 CPU 使用率已经超过 $cpu_threshold% 的阈值,请尽快处理。"
  echo $message | mail -s "$subject" $admin_email
fi

# 检查内存使用率
mem_usage=$(free -m | awk 'NR==2{printf "%d", $3*100/$2}')
if [[ $mem_usage -ge $mem_threshold ]]; then
  subject="内存使用率过高,当前使用率为 $mem_usage%"
  message="当前服务器内存使用率已经超过 $mem_threshold% 的阈值,请尽快处理。"
  echo $message | mail -s "$subject" $admin_email
fi

# 检查磁盘使用率
disk_usage=$(df -h / | awk '{print $5}' | sed 's/%//')
if [[ $disk_usage -ge $disk_threshold ]]; then
  subject="磁盘使用率过高,当前使用率为 $disk_usage%"
  message="当前服务器磁盘使用率已经超过 $disk_threshold% 的阈值,请尽快处理。"
  echo $message | mail -s "$subject" $admin_email
fi

以上是使用mail命令发送邮件的一个示例脚本

该脚本会定期检查服务器的 CPU、内存和磁盘使用情况,如果其中任意一项超出了预设的阈值,脚本就会发送一封包含警告信息的电子邮件给指定的管理员。脚本使用了Linux中的一些命令来获取服务器的性能数据,例如top、free和df等

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/129347632
今日推荐