Пишем Init скрипт

Пишем Init скрипт

Инициализация — важнейшая процедура, лежащая в основе любой операционной системы на основе Unix/Linux для управления работой каждого скрипта и службы.

Я описывал в своих статьях процесс создания скриптов для systemD/Upstart и сейчас я хотел бы написать о написании init скриптов. Тема не новая и используется давно, но я большую часть своих тем беру именно из черновиков, которые накопились за года 3-4. У меня не хватает времени на все публикации + наполнять контент максимально (по крайней мере, сразу) и по этому, имеет что имеем. Но не смотря на это, у меня уже довольно много читателей — и это хорошо, это радует!

По сути, инициализация следует за этим процессом:

  • Загрузка сервера.
  • Запуск init процесса (обычно как PID 1).
  • Запуск предопределенного набора задач для запуска активируется последовательно.

Инициализация отвечает за то, чтобы сервер мог загрузиться и отключиться. В некоторых Unix/Linux дистрибутивах  используется стандартный процесс инициализации init/systemD/Upstart.

Пишем Upstart скрипт

И так, хотелось бы рассказать как можно запускать томкат. Но для начала, нужно узнать какой механизм инициализации используется:

Т.к речь идет о sysv init/Upstart, то и продолжим тему.

PS: Вот еще полезное чтиво:

Система инициализации в Unix/Linux

Система инициализации Systemd

Система инициализации SysVinit

Пишем systemd Unit файл

Пишем Upstart скрипт

INIT скрипт может иметь следующие состояния:

  • start — Служит командой для запуска службы.
  • stop — Выполняет остановку службы.
  • restart — Перезапуст службы, а по факту — остановка и затем запуск сервиса.
  • reload — Перезагрузка службы, т.е команда для перечитывания конфигурации без перезапуска или остановки службы.
  • force-reload — Перезагрузка конфигурации (перечитать конфиг), если служба поддерживает это. В противном случае — выполнит перезапуск службы.
  • status — Покажет состояние службы.

Вот скилет скрипта для использования:

Данный каркас можно юзать для любых целей.

Примеры Init скрипта

Приведу наглядный пример запуска томката.

Запуск TOMCAT с init

Создадим init скрипт для запуска:

И приводим к виду:

Даем права на запуск (на исполнение):

ИЛИ:

Запускаем томкат:

Открываем браузер и смотрим что вышло!

Вот еще один скрипт:

Подойдет к большинству скриптов, а для остальных — можно отредактировать немного.

И, вот еще полезный довольно вариант:

Вот и все, статья «Пишем Init скрипт» завершена.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *