q137483024 发表于 2024-7-21 16:46:59

【待反馈】如何利用计划任务实现自动判断负载超过90%后...

为了能快速了解并处理您的问题,请提供以下基础信息:试过创建一个脚本后定时检测后执行,但是故意将阈值调到2%测试 依然提示正常范围

#!/bin/bash

# 获取1分钟的平均负载
load=$(uptime | awk -F'load average: ' '{print $2}' | cut -d'.' -f1)

# 如果负载超过90(注意:这里90在实际环境中非常罕见,通常应该是1.0或类似的数字)
if [ "$load" -gt 90 ]; then
    echo "系统负载过高,禁用80和443端口"
    iptables -I INPUT -p tcp --dport 80 -j DROP
    iptables -I INPUT -p tcp --dport 443 -j DROP
else
    echo "系统负载正常,启用80和443端口"
    # 假设之前没有其他规则阻止80和443端口,这里只是移除我们添加的DROP规则
    iptables -D INPUT -p tcp --dport 80 -j DROP
    iptables -D INPUT -p tcp --dport 443 -j DROP
fi

# 保存iptables规则(如果系统重启后需要保持这些规则)
service iptables save# 注意:命令可能因发行版而异,如systemctl reload firewalld

运维技术阿闯 发表于 2024-7-22 09:39:43

您好,您这是判断负载满超过90%就会关闭端口的一个情况,但是有时候的负载不仅仅是nginx导致的,也有可能是php或者是mysql
页: [1]
查看完整版本: 【待反馈】如何利用计划任务实现自动判断负载超过90%后...