Подтвердить что ты не робот

Как вывести вывод в файл при работе в качестве службы Systemd?

У меня возникли проблемы с подключением STDOUT и STDERR к файлу при запуске программы в качестве службы systemd. Я попытался добавить следующее в файл .service:

ExecStart=/apppath/appname > /filepath/filename 2>&1

Но это не работает. Выход заканчивается в /var/log/messages и доступен для просмотра с помощью журнала, но мне нужен отдельный файл.

Я также попытался установить StdOutput=tty, но не могу найти способ перенаправления этого файла.

Любая помощь будет оценена.

4b9b3361

Ответ 1

systemd.service(5) говорит:

ExecStart =

Команды со своими аргументами, которые выполняются при запуске этой службы.

Итак, systemd запускает ваш /apppath/appname с помощью args >, /filepath/filename, 2>&1

Try:

ExecStart=/bin/sh -c '/apppath/appname > /filepath/filename 2>&1'