Как вывести вывод в файл при работе в качестве службы Systemd?
У меня возникли проблемы с подключением STDOUT и STDERR к файлу при запуске программы в качестве службы systemd. Я попытался добавить следующее в файл .service
:
ExecStart=/apppath/appname > /filepath/filename 2>&1
Но это не работает. Выход заканчивается в /var/log/messages и доступен для просмотра с помощью журнала, но мне нужен отдельный файл.
Я также попытался установить StdOutput=tty
, но не могу найти способ перенаправления этого файла.
Любая помощь будет оценена.
Ответы
Ответ 1
systemd.service(5)
говорит:
ExecStart =
Команды со своими аргументами, которые выполняются при запуске этой службы.
Итак, systemd
запускает ваш /apppath/appname
с помощью args >
, /filepath/filename
, 2>&1
Try:
ExecStart=/bin/sh -c '/apppath/appname > /filepath/filename 2>&1'