centos

centos清理脚本的使用指南

小樊
51
2025-06-04 06:52:27
栏目: 智能运维

在CentOS系统中,清理脚本可以帮助自动化管理资源,提升系统性能和安全性。以下是一些常用的CentOS清理脚本及其使用方法:

CPU和内存性能监控自动化脚本

#!/bin/bash
# 设定CPU和内存使用的阈值
CPU_THRESHOLD=85
MEM_THRESHOLD=90
# 获取当前CPU和内存使用率
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
MEM_USAGE=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
# 检查是否超出阈值并发送告警
if (( $(echo "$CPU_USAGE > $CPU_THRESHOLD" | bc -l) ));then
    echo "警告:CPU使用率超过${CPU_THRESHOLD}%:当前为${CPU_USAGE}%" | mail -s "CPU警告" your-email@example.com
fi
if (( $(echo "$MEM_USAGE > $MEM_THRESHOLD" | bc -l) ));then
    echo "警告:内存使用率超过${MEM_THRESHOLD}%:当前为${MEM_USAGE}%" | mail -s "内存警告" your-email@example.com
fi

自动清理僵尸进程脚本

#!/bin/bash
# 查找并列出僵尸进程
zombie_pids=$(ps aux | awk '{ if ($8 == "Z") print $2 }')
# 判断是否有僵尸进程
if [ -z "$zombie_pids" ];then
    echo "没有僵尸进程。"
else
    # 杀掉所有僵尸进程
    for pid in $zombie_pids;do
        echo "杀掉僵尸进程 $pid"
        kill -9 $pid
    done
fi

网络流量监控和带宽占用告警脚本

# 设定带宽使用阈值 (MB/s)
BANDWIDTH_THRESHOLD=10.0
# 获取当前网络流量
RX_BEFORE=$(cat /proc/net/dev | grep eth0 | awk '{print $2}')
TX_BEFORE=$(cat /proc/net/dev | grep eth0 | awk '{print $10}')
sleep 1
RX_AFTER=$(cat /proc/net/dev | grep eth0 | awk '{print $2}')
TX_AFTER=$(cat /proc/net/dev | grep eth0 | awk '{print $10}')
# 计算流量
RX_RATE=$(echo "scale=2;($RX_AFTER - $RX_BEFORE) / 1024 / 1024" | bc)
TX_RATE=$(echo "scale=2;($TX_AFTER - $TX_BEFORE) / 1024 / 1024" | bc)
# 检查是否超出带宽阈值
if (( $(echo "$RX_RATE > $BANDWIDTH_THRESHOLD" | bc -l) || $(echo "$TX_RATE > $BANDWIDTH_THRESHOLD" | bc -l) )); then
    echo "警告:网络流量超过阈值!"
fi

CentOS 7系统优化脚本

请注意,使用这些脚本时,应根据实际需求和环境进行调整,并在生产环境中使用前进行充分的测试。此外,执行这些脚本可能需要相应的权限,因此请确保以root用户或使用sudo命令运行它们。

0
看了该问题的人还看了