Unit for tg bot: различия между версиями

Материал из wiki.ramba-art.ru
Перейти к навигации Перейти к поиску
(Новая страница: « [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»)
 
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
== '''Создаем Unit для tg bot''' ==
=== '''Способ №1:''' ===
Создаем исполняемый фаил '''noProdaction.sh''' и в нем вписываем что то типо:
      
      
    #!/bin/bash<br><br>
    /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]
     [Unit]
     Description=telegam bot OmArtVal
     Description=telegam bot OmArtVal
     After=network.target
     After=network.target<br>
 
     [Service]
     [Service]
     User=root
     User=root
Строка 15: Строка 29:
     WorkingDirectory=/opt/Python/Telegram/noProdaction
     WorkingDirectory=/opt/Python/Telegram/noProdaction
     ExecStart=/opt/Python/Telegram/start/noProdaction.sh
     ExecStart=/opt/Python/Telegram/start/noProdaction.sh
     Restart=always
     Restart=always<br>
    [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<br>
    Nov 14 11:44:32 python systemd[1]: Started telegam bot noProdaction.
 
и у нас при старте сервера вудет работать скрипт.
 
=== '''Способ №2:''' ===
 
не создавать ни каких вспомогательных файлов, а сразу писать всё в файле юнита


    [Unit]
    Description=telegam bot noProdaction
    After=network.target<br>
    [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<br>
     [Install]
     [Install]
     WantedBy=multi-user.target
     WantedBy=multi-user.target
Более подробно о написании UNIT есть в статье по этой [https://linux-notes.org/pishem-systemd-unit-fajl/ ссылке]

Текущая версия от 12:10, 14 ноября 2023

Создаем 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 есть в статье по этой ссылке