Юнит сервиса (от англ. Service Unit) в Systemd — это файл настроек, который определяет, как управлять службами (процессами, работающими в фоновом режиме) в ОС Linux. Юниты содержат информацию о том, как и когда сервис должен быть запущен, остановлен, перезагружен и так далее. Systemd, в свою очередь, использует эти файлы настроек для управления службами в Linux.
В этой статье мы расскажем, как создать свой сервис в операционной системе Linux.
Содержание:
- Просмотр содержимого папки /etc/systemd/system
- Написание скрипта для юнита нового сервиса
- Создание юнита сервиса
- Проверка работы нового сервиса
- Выводы
Просмотр содержимого папки /etc/systemd/system
Большинство юнитов Systemd расположены в каталоге /etc/systemd/system
. Перейдем в эту директорию, чтобы вывести на экран ее содержимое:
Написание скрипта для юнита нового сервиса
Допустим, нам нужно создать юнит, который будет запускать скрипт для генерации файлов с временной меткой в каталоге /home/user/
. Для этого создадим в папке /root
сценарий timestamp_script.sh
и вставим в него следующий код:
Читайте также: Как легко скрыть файлы и каталоги в Linux.
Также сделаем этот скрипт исполняемым:
Создание юнита сервиса
Наш сервис будет называться qwerty
, поэтому создадим в папке /etc/systemd/system
файл юнита qwerty.service
. Затем запишем в него следующие параметры:
Где:
[Unit]
— секция, которая используется для определения метаданных и зависимостей сервиса:Description=Timestamp Service
— краткое описание сервиса;After=network.target
— параметр, который указывает, что сервис должен запускаться после того, как начнет работу цельnetwork.target
(это полезно, если служба зависит от сетевого подключения).
[Service]
— секция, которая определяет поведение сервиса:ExecStart=/root/timestamp_script.sh
— параметр, указывающий на команду или скрипт, который будет выполнен при запуске службы;Restart=always
— параметр, значение которого означает, что сервис должен всегда перезапускаться, если он завершится.
[Install]
— секция, которая определяет, при каких условиях сервис должен быть запущен:WantedBy=multi-user.target
— параметр, который указывает, что служба будет связана с цельюmulti-user.target
, предназначенной для обычного многопользовательского режима работы операционной системы.
После завершения настроек юнита сохраним и закроем файл. Затем перезагрузим систему Systemd и укажем ей запускать службу qwerty.service
каждый раз при загрузке Linux:
Читайте также: Chkservice — простой способ управления модулями (юнитами, unit) Systemd в терминале.
Проверка работы нового сервиса
Чтобы убедиться, что служба qwerty.service
работает, запустим ее с помощью следующей команды:
И посмотрим содержимое каталога /home/user/
:
На скриншоте выше видно, что в папке появились файлы с временной меткой в названии.
Выводы
Мы показали, как создать собственный сервис Systemd в операционной системе Linux. Решение этой задачи достаточно простое, однако требует знаний для написания юнит-файла.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.