Перезапустите скрипт, если он остановится без использования crontab

Чтобы пропустить fsck только один раз (а не отключать его навсегда с помощью fstab или tune2fs ) попробуйте следующие варианты:

  1. временно добавьте параметр fastboot GRUB перед загрузкой. Для получения дополнительной информации проверьте эту ссылку: https://wiki.ubuntu.com/Kernel/KernelBootParameters
  2. touch / fastboot также следует пропустить проверку fsck при следующей загрузке

0
23.06.2018, 13:10
2 ответа

Установите скрипт как службу systemd. systemd автоматически перезапустит его, если он выйдет.

Это не очень сложно, вам нужно написать короткий something.serviceфайл (с Restarts=alwaysгде-то в нем ), поместить/связать его в соответствующий каталог и выдать пару systemctlкоманды. См. здесь для обучения.

PS :В 14.04 systemd доступен, но мало используется самой системой. Это становится более распространенным в более поздних выпусках.

1
28.01.2020, 02:31

Тривиально процесс может быть запущен только запущенным процессом. Если все процессы учетной записи скрипта будут убиты, решение может выйти за рамки только этого пользователя. Но два случая (уничтожение root и аварийное завершение работы )могут быть обработаны по-разному.

перезапуск после выхода

Это легко:

#! /bin/bash
while true; do /path/to/script.sh; done

перезапуск после ежедневного убийства

  1. Сценарий уничтожения перезапускает указанный выше сценарий-оболочку.
  2. Сценарий, запущенный от имени другого пользователя, регулярно проверяет, выполняется ли сценарий, и при необходимости перезапускает его. Однако для этого требуется sudo/ suили двоичный файл SUID, если он не запускается пользователем root.
1
28.01.2020, 02:31

Теги

Похожие вопросы