Остановите работу cron, постоянно перезагружая экземпляр ec2

Я создал скрипт для перезагрузки системы, когда загрузка процессора достигла 90%. Но для некоторых целей тестирования я изменил значение максимальной загрузки ЦП до 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)
           }
        }'

Примечание: скрипт запрограммирован на перезагрузку с помощью crontab:

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

Поэтому я не могу войти с помощью SSH. Потому что система постоянно перезагружается.

Мой сервер является экземпляром AWS ec2

Я попытался передать пользовательские данные через консоль AWS.

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

Но это не работает.

Таким образом, любые возможные способы вернуть мой экземпляр будут высоко оценены.

1 ответ

Решение
  1. Остановите экземпляр и посмотрите на диск EBS (запишите точку монтирования)
  2. Установите жесткий диск неисправного экземпляра (EBS)
  3. Загрузите новый свежий экземпляр (Ubuntu 18.04, RHEL, тот, который вам удобнее...)
  4. Подключите неисправный диск к новому экземпляру.
  5. Смонтируйте файловую систему в /mnt (например)
  6. Удалите правило crontab, которое вы добавили в CRONTAB (в /etc/crontab/...)
  7. Отсоединить диск EBS
  8. Подключите к отказавшей машине снова, используя ту же точку монтирования
  9. Загрузи свою старую машину как всегда; Cron будет отключен
  10. Удалите машину, которую вы использовали, чтобы изменить FS

Это очень распространенный шаблон: отсоединить сбойную ФС от другой машины, исправить все, что мешает загрузке, и снова подключить ее к старому хосту.

Надеюсь, это решит вашу проблему.

Другие вопросы по тегам