如何作为Systemd服务运行输出到文件?

在将程序作为systemd服务运行时,我无法将STDOUT&STDERR传输到文件。 我已经尝试将以下内容添加到.service文件中:

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

但是这不起作用。 输出结果在/ var / log / messages中,可以使用journalctl查看,但我想要一个单独的文件。

我也试过设置StdOutput=tty但是找不到将其redirect到文件的方法。

任何帮助,将不胜感激。

Solutions Collecting From Web of "如何作为Systemd服务运行输出到文件?"

systemd.service(5)说:

ExecStart =

在启动此服务时执行带有参数的命令。

因此, systemd使用args >/filepath/filename2>&1运行/apppath/appname

尝试:

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