К содержимому

Настройка автозапуска приложений через systemd (Linux)

Бот или приложение запущено в screen и падает после перезагрузки? Оформим его в службу systemd с автозапуском и журналом.

daemonjournalctlsystemctlunit filesRestart=always
Стоимость от 5 000 ₽
  • Автоперезапуск

    Restart=always поднимает упавший процесс сам.

  • Старт с сервером

    Приложение запускается после перезагрузки.

  • Журнал

    Логи в journalctl с поиском и фильтрами.

  • Изоляция

    Свой пользователь и лимиты ресурсов для службы.

Тарифы

Сколько стоит

Одна служба

от 5 000 ₽
  • Unit-файл
  • Автозапуск и перезапуск
  • Логи в journalctl
Обсудить

Набор служб для проекта

от 12 000 ₽
  • Бот, приложение, фоновые задачи
  • Зависимости между службами
  • Лимиты ресурсов
Обсудить

Таймеры вместо cron

от 8 000 ₽
  • systemd timers
  • Журнал запусков
  • Уведомления о сбоях
Обсудить
Как работаем

Этапы работы

  1. 01Аудит

    Изучаем текущую инфраструктуру и код, находим риски и узкие места. Бесплатно.

  2. 02Проектирование

    Предлагаем архитектуру, фиксируем сроки, бюджет и критерии готовности.

  3. 03Внедрение

    Разрабатываем и настраиваем, покрываем тестами, передаём документацию.

  4. 04Поддержка

    Мониторинг, реакция на инциденты по SLA и развитие системы.

Бот упал ночью — и никто не заметил

Частая история: бот или приложение запущены в консоли через screen или tmux. После перезагрузки сервера или первой же ошибки процесс исчезает, а узнают об этом от клиентов. Решение — оформить приложение в службу (daemon) systemd.

Жизненный цикл службы systemd: запуск, работа, падение, автоматический перезапуск
Start → Running → Crash → Auto-restart (Restart=always) → снова Running

Что настраиваем

Unit-файлы

Описываем, как запускать приложение, от какого пользователя, с какими переменными окружения и после каких служб.

Автоперезапуск

Restart=always и пауза между попытками: упавший процесс поднимается сам, а причина падения остаётся в журнале.

Логи и управление

systemctl для управления, journalctl для логов — без самописных файлов и потерянных сообщений об ошибках.

Логи и управление
КомандаЧто делает
systemctl startЗапустить службу
systemctl enableВключить автозапуск
systemctl statusСостояние и PID
journalctl -uЛоги службы

Смотрите также: скрипты Bash, Telegram-боты, Docker. Весь раздел — администрирование серверов.

FAQ

Частые вопросы

Чем служба systemd лучше запуска в screen или tmux?

Служба стартует сама после перезагрузки, перезапускается при падении и пишет логи в журнал. Процесс в screen просто исчезнет вместе с сессией или сервером.

Что такое Restart=always?

Настройка unit-файла: если процесс завершился, systemd запускает его снова через заданную паузу.

Как посмотреть логи службы?

Командой journalctl: с фильтром по службе, времени и уровню ошибок.

Подойдёт ли это для бота на Python или Node.js?

Да, это самый частый случай: бот получает автозапуск, перезапуск при сбое и нормальные логи.

Можно ли ограничить ресурсы службы?

Да: память, процессор и доступ к файлам задаются в unit-файле — сбойный процесс не положит весь сервер.

Обсудим задачу

Расскажите, что нужно сделать

Оставьте контакты или напишите в мессенджер: разберём задачу и предложим решение.

Телефон для связи8 (967) 858-85-55
Как с вами связаться
или напишите нам Max
Заявка принята. Мы свяжемся с вами.