Unit for tg bot

Материал из wiki.ramba-art.ru
Версия от 12:10, 14 ноября 2023; Admin (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Создаем Unit для tg bot[править]

Способ №1:[править]

Создаем исполняемый фаил noProdaction.sh и в нем вписываем что то типо:

   #!/bin/bash

/usr/bin/python3.11 /opt/Python/Telegram/noProdaction/noprodaction-1/main.py

Далее создаем с помощью нашего любимого редактора nano по пути /etc/systemd/system/ фаил noprodaction.service

   nano /etc/systemd/system/noprodaction.service

И вписываем что то типо такого:

   [Unit]
   Description=telegam bot OmArtVal
   After=network.target
[Service] User=root Nice=1 KillMode=process SuccessExitStatus=0 1 ProtectHome=true ProtectSystem=full PrivateDevices=true NoNewPrivileges=true WorkingDirectory=/opt/Python/Telegram/noProdaction ExecStart=/opt/Python/Telegram/start/noProdaction.sh Restart=always
[Install] WantedBy=multi-user.target

Закрываем редактор с сохранением изменений CTRL+O и CTRL+X

Перезагружаем демона:

   systemctl daemon-reload

И стартуем его:

   systemctl start noprodaction.service

И все! Наш сервис должен работать! Проверить это можно командой

   systemctl status noprodaction.service

Вывод должен быть таким:

   root@python:~# systemctl status noprodaction.service 
   * noprodaction.service - telegam bot noProdaction
        Loaded: loaded (/etc/systemd/system/noprodaction.service; enabled; vendor preset: enabled)
        Active: active (running) since Tue 2023-11-14 11:44:32 MSK; 3h 14min ago
      Main PID: 173 (python3.11)
         Tasks: 2 (limit: 96529)
        Memory: 34.1M
           CPU: 1.766s
        CGroup: /system.slice/noprodaction.service
                `-173 /usr/bin/python3.11 /opt/Python/Telegram/noProdaction/noprodaction-1/main.py
Nov 14 11:44:32 python systemd[1]: Started telegam bot noProdaction.

и у нас при старте сервера вудет работать скрипт.

Способ №2:[править]

не создавать ни каких вспомогательных файлов, а сразу писать всё в файле юнита

   [Unit]
   Description=telegam bot noProdaction
   After=network.target
[Service] User=root Nice=1 KillMode=process SuccessExitStatus=0 1 ProtectHome=true ProtectSystem=full PrivateDevices=true NoNewPrivileges=true WorkingDirectory=/opt/Python/Telegram/noProdaction/noprodaction-1/ ExecStart=/usr/bin/python3.11 /opt/Python/Telegram/noProdaction/noprodaction-1/main.py Restart=always
[Install] WantedBy=multi-user.target

Более подробно о написании UNIT есть в статье по этой ссылке