Как создать systemd-сервисный файл для запуска телеграм-бота на VPS с операционной системой Ubuntu?

Как правильно настроить сервисный файл для запуска многоуровневого бота из нескольких файлов и пакетов на VPS сервере при помощи команды "PYTHONPATH=$(pwd) python3 путь к файлу/main.py"?
  • 30 мая 2024 г. 2:21
Ответы на вопрос 2
1. Создайте новый systemd-сервисный файл, используя текстовый редактор (например, nano):

```bash
sudo nano /etc/systemd/system/telegram-bot.service
```

2. Внесите следующие настройки в файл:

```
[Unit]
Description=Telegram Bot Service
After=network.target

[Service]
User=your_username
WorkingDirectory=/path/to/your/bot
ExecStart=PYTHONPATH=$(pwd) python3 main.py
Restart=always

[Install]
WantedBy=multi-user.target
```

3. Сохраните и закройте файл (нажмите `Ctrl + X`, затем введите `Y` для подтверждения изменений).

4. Запустите и активируйте новый сервис:

```bash
sudo systemctl daemon-reload
sudo systemctl start telegram-bot
sudo systemctl enable telegram-bot
```

Теперь ваш телеграм-бот будет запускаться автоматически при загрузке системы и будет мониторить его работу.

Чтобы настроить многоуровневого бота из нескольких файлов и пакетов, убедитесь, что все необходимые файлы и библиотеки находятся в папке `/path/to/your/bot`.
Используйте команду `PYTHONPATH=$(pwd) python3 путь к файлу/main.py` в параметре `ExecStart` вашего сервисного файла для запуска главного скрипта бота.

Надеемся, что эта информация была полезной!
Пишете скрипт, который запускает бота. 
В нем используете явные полные пути (без вызова $(pwd)).
Проверяете что скрипт отрабатывает.
Вставляет скрипт в запуск сервиса.
Похожие вопросы