首页 > 解决方案 > 停止 Cron Job 以关闭重启无限循环

问题描述

我创建了一个脚本来在 Cpu 利用率达到 90% 后重新启动系统。但出于某些测试目的,我将 Cpu Utilization 的 Vlaue 更改为 0.7%。并且脚本被编程为运行系统重新启动。由于该服务器从未在线,它进入了无限重启循环。

我的脚本:

#!/bin/bash
dstat| awk '{ if (int($1)>0.7) { 
              i=i+1; {
                       print i, $1
               }
              }
           
           if (int($1)>0.7) {
           j=j+1;
           }   
           if (j>2) {
                  print "system reboot";
                  cmd="sudo reboot";
                  system(cmd)
           }
        }'

N 该脚本被编程为使用 crontab 在重新启动时运行:

@reboot /bin/bash /ubuntu/home/reboot.sh

所以我无法使用 SSH 登录。因为系统是不断重启的。我的服务器是aws ec2 insatnce

我尝试通过 aws 控制台传递用户数据。

sudo apt-get purge dstat
cd /ubuntu/home && sudo rm reboot.sh
sudo /etc/init.d/cron stop

但它不起作用。

因此,任何让我的实例恢复的方式都将受到高度赞赏。

标签: amazon-web-servicesamazon-ec2cron

解决方案


  • 停止实例
  • 分离根卷
  • 将其附加到同一可用区中已运行的另一个实例
  • 安装在/mnt
  • 通过编辑文件来修复错误配置,您应该在/mnt/home/ubuntu/reboot.sh
  • 卸载
  • 分离
  • 重新附加到原始实例
  • 启动实例

推荐阅读