Скрипт работает вручную, а через systemd — падает.
Скрипт работает вручную, а через systemd — падает. В терминале вы могли перейти в каталог проекта, активировать Python venv и экспортировать переменные. Системный сервис автоматически эти действия не повторяет. Начните с unit-файла и журнала. `report-worker.service` — учебное имя; замените его именем своего сервиса: systemctl cat report-worker.service journalctl -u report-worker.service -n 50 --no-pager Проверяйте по ошибке: • Не найдена утилита — сравните `PATH` и путь к ней. Если не стартует сам сервис, отдельно проверьте `ExecStart` и интерпретатор скрипта. • Не найден файл — проверьте `WorkingDirectory` и относительный путь. Без настройки системный сервис запускается из корня файловой системы, видимого процессу. • Нет переменной — проверьте настроенные источники окружения, например `Environment`, `EnvironmentFile` или обёртку. `export` из терминала автоматически не передаётся. • Отказано в доступе — сверьте пользователя, группы, права, ACL и доступ к каталогам. Затем проверьте ограничения unit и политики безопасности ОС. Не расширяйте права вслепую. Если журнал пуст, проверьте права на его чтение и место, куда пишет приложение. Перед передачей вывода удалите секреты. Успешный ручной запуск подтверждает работу только в условиях конкретной сессии. Такие задачи полезно разбирать на практике при обучении Linux. Сохраните чек-лист диагностики. #Linux #systemd #DevOps #Администрирование #УЦФОРС