Создание и активация системных служб для запуска ботов
2 мин. чтения
Для обеспечения стабильной и автоматической работы ваших ботов DEXBOT на сервере рекомендуется использовать системные службы systemd.
Это позволяет запускать ботов как сервисы, которые автоматически стартуют при загрузке системы, контролируются и перезапускаются в случае сбоев.
⚙️ Создание unit-файла службы для DEXBOT #
Для создания службы выполните команду в терминале:
sudo nano /lib/systemd/system/DEXBOT.service
В открывшемся редакторе вставьте следующий код:
[Unit]
Description=DEXBOT — CRYPTO BOT
After=network.target
[Service]
Type=simple
WorkingDirectory=/MYBOTS/DEXBOT
ExecStart=/MYBOTS/DEXBOT/DEXBOT.bin
Restart=always
RestartSec=60
[Install]
WantedBy=multi-user.target
Description— краткое описание службы.After=network.target— запуск службы после инициализации сетевых сервисов.WorkingDirectory— рабочая директория, откуда запускается бот.ExecStart— команда запуска исполняемого файла бота.Restart=always— всегда перезапускать службу, если она остановилась.RestartSec=60— ждать 60 секунд перед попыткой перезапуска.WantedBy=multi-user.target— запускать службу в многопользовательском режиме.
🔧 Сделайте исполняемые файлы ботов исполняемыми #
Выполните команды, чтобы дать файлам права на исполнение:
chmod +x /MYBOTS/DEXBOT/DEXBOT.bin
Это необходимо для того, чтобы systemd мог запускать ваши боты.
🚀 Активируйте службы для автозапуска при загрузке системы #
Выполните команды:
sudo systemctl enable DEXBOT
Эти команды создадут ссылки в системных каталогах, обеспечивая автозапуск служб после перезагрузки.
▶️ Запустите службы вручную #
Чтобы сразу запустить службы без перезагрузки сервера, выполните:
sudo systemctl start DEXBOT
Если всё сделано правильно, ваши боты начнут работать как фоновые процессы.
📊 Дополнительные полезные команды управления службами #
- Проверка статуса службы:
sudo systemctl status DEXBOT - Перезапуск службы:
sudo systemctl restart DEXBOT - Остановка службы:
sudo systemctl stop DEXBOT - Отключение автозапуска:
sudo systemctl disable DEXBOT
⚠️ Рекомендации и советы #
- Перед созданием службы убедитесь, что боты корректно работают при запуске вручную.
- Убедитесь, что в unit-файлах указаны правильные пути к исполняемым файлам и рабочим директориям.
- Настройте логи для служб, чтобы видеть ошибки и сообщения — systemd сохраняет их в журнале
journalctl. - Для просмотра логов службы используйте:
sudo journalctl -u DEXBOT -f— для просмотра в режиме реального времени. - При изменении unit-файлов после редактирования необходимо выполнить
sudo systemctl daemon-reload, чтобы systemd прочитал новые настройки.
Теперь ваши боты работают как полноценные системные службы с автоматическим запуском и контролем, что значительно упрощает управление и повышает надежность.
❓ Почему стоит использовать системные службы (systemd)? #
- Автоматический запуск: боты запускаются автоматически при включении или перезагрузке сервера.
- Надежность: в случае ошибки или падения бот будет автоматически перезапущен через заданное время.
- Удобное управление: запуск, остановка, перезапуск и проверка статуса происходят стандартными командами
systemctl. - Централизованный контроль: все службы можно управлять и мониторить с помощью системных инструментов.