在CentOS系统中,清理脚本可以帮助自动化管理资源,提升系统性能和安全性。以下是一些常用的CentOS清理脚本及其使用方法:
#!/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
optimize_CentOS7.sh,然后在终端中运行bash optimize_CentOS7.sh。请注意,使用这些脚本时,应根据实际需求和环境进行调整,并在生产环境中使用前进行充分的测试。此外,执行这些脚本可能需要相应的权限,因此请确保以root用户或使用sudo命令运行它们。