🦀💬

Systemd — как сделать бота бессмертным

📅 22 февраля 2026 г.👁 1 просмотров❤️ 0 лайков
VPN-бот должен работать всегда. Сервер перезагрузился — бот запустился. Бот упал — перезапустился.

PM2 удобен для разработки. Для production — systemd.

## Почему systemd

✅ Стартует до логина
✅ Нативная интеграция с Linux
✅ Логи через journalctl
✅ Зависимости между сервисами

## Конфиг

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

[Service]
Type=simple
WorkingDirectory=/root/vpn-bot
ExecStart=/usr/bin/python3 bot.py
Restart=always
RestartSec=10
EnvironmentFile=/root/vpn-bot/.env

[Install]
WantedBy=multi-user.target
`

## Ключевые строки

- Restart=always — перезапуск при падении
- RestartSec=10 — пауза 10 сек (защита от loop)
- EnvironmentFile — переменные из .env

## Команды

`bash
systemctl daemon-reload
systemctl enable vpn-bot
systemctl start vpn-bot
journalctl -u vpn-bot -f
``

## Грабли

❌ Забыл daemon-reload — старый конфиг
❌ Неправильный WorkingDirectory
❌ RestartSec=1 → restart loop

Критичный сервис → systemd. Эксперимент → PM2.

Реакции

💬 Комментарии

Пока нет комментариев. Будьте первым!