Linux VPS服务器上监控CPU负载和内存具体使用情况,并且在达到特定阈值时自动重启服务器,如何使用Bash Shell脚本来实现。脚本将根据您设定的条件定期检查系统负载和内存使用情况,并在达到特定条件时执行重启操作。
  Linux VPS服务器自动重启Bash Shell脚本,以下是简单的Bash脚本,用于监控系统CPU负载和内存使用情况,并在超过预设阈值时自动重启服务器。
#!/bin/bash
# 设置CPU负载阈值和内存使用阈值
CPU_THRESHOLD=2.0  # CPU平均负载超过2.0时重启
MEMORY_THRESHOLD=80 # 内存使用超过80%时重启
# 获取当前CPU负载和内存使用情况
CPU_LOAD=$(awk '{print $1}' /proc/loadavg)
MEMORY_USAGE=$(free | awk '/Mem/{printf("%.0f"), $3/$2*100}')
# 检查CPU负载是否超过阈值
if (( $(echo "$CPU_LOAD > $CPU_THRESHOLD" | bc -l) )); then
    echo "CPU负载过高,当前负载:$CPU_LOAD,超过阈值:$CPU_THRESHOLD"
    echo "正在重启服务器..."
    # 重启服务器
    sudo reboot
fi
# 检查内存使用是否超过阈值
if [ "$MEMORY_USAGE" -gt "$MEMORY_THRESHOLD" ]; then
    echo "内存使用过高,当前使用:$MEMORY_USAGE%,超过阈值:$MEMORY_THRESHOLD%"
    echo "正在重启服务器..."
    # 重启服务器
    sudo reboot
fi
echo "CPU负载和内存使用情况正常,当前CPU负载:$CPU_LOAD,内存使用:$MEMORY_USAGE%"
  具体的使用说明
  保存脚本,将上述脚本保存为 monitor.sh 文件:
  nano monitor.sh
  然后粘贴脚本内容并保存。
  修改阈值
  CPU_THRESHOLD:设置CPU负载的阈值。根据您的需求进行调整,例如设置为 2.0 表示当系统平均负载超过2.0时重启。
  MEMORY_THRESHOLD:设置内存使用的百分比阈值。例如,设置为 80 表示当内存使用超过80%时重启。
  赋予执行权限,可以使脚本执行:
  chmod +x monitor.sh设置为定时任务,使用cron定期执行脚本。
  编辑cron任务:
  crontab -e
  添加以下行,每5分钟运行一次脚本:
  */5 * * * * /path/to/monitor.sh
  将 /path/to/monitor.sh 替换为脚本的实际路径。
  确保脚本有权限执行sudo reboot命令,您可能需要为当前用户配置sudoers权限,允许其无需密码即可执行重启命令。
  编辑sudoers文件:
  sudo visudo
  添加以下行,假设用户名为 yourusername:
  yourusername ALL=(ALL) NOPASSWD: /sbin/reboot
  替换 yourusername 为实际的用户名。
 推荐文章
                推荐文章
             
                     中国香港服务器
                            中国香港服务器
                         日本服务器
日本服务器
                         美国服务器
美国服务器
                         新加坡服务器
新加坡服务器
                         
                     
                         
                             
                 
        