Как запустить на бесконечную работу телеграмм бота?
Сделал телеграмм бота на python,решил попробовать залить на сервер. Залил бота на сервер,запустил через файл,все работает,но как сделать что бы он работал без меня?Что бы я не запускал пк и тд.Я слышал это называется демон,но не нашел как его сделать и запустить.
Ответы (1 шт):
Автор решения: D. Violet
→ Ссылка
systemd – cистемный менеджер, демон инициализации других демонов в Linux. Проще говоря, systemd запустит бота и будет перезапускать его в случае падения.
Установим systemd:
apt-get install systemd
Создайте файл с именем, например bot.service, с таким содержанием:
[Unit]
Description=Telegram bot 'SuperPuperTelegramBot'
After=syslog.target
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/bin/bot # рабочая директория (каталог)
ExecStart=/usr/bin/python3 /usr/local/bin/bot/bot.py # путь до python и основного файла бота
# ExecStart=/opt/bot/bin/python /opt/bot/bot.py --serve-in-foreground # если используется `venv` (`/opt/` как пример)
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
скопируйте файл bot.service в /etc/systemd/system
в консоли сервера:
systemctl daemon-reloadsystemctl enable bot# гдеbotимя файлаbot.servicesystemctl start botsystemctl status bot