systemctl:将控制台消息写入特定文件

systemctl:将控制台消息写入特定文件

我有一个使用 systemctl 配置的服务。这是配置文件:

[Unit]
Description=eureka-server
After=syslog.target

[Service]
User=bhushanp
#User=root
ExecStart=/usr/bin/java -jar /home/bhushanp/apps/eureka_server.jar > /var/log/es.log 2>>&1
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

但它没有将日志写入 /var/log/es.log 文件。
任何帮助都非常感谢。

答案1

ExecStart不受 shell 管理,因此如果您需要,请在其前面加上前缀/bin/sh -c并引用您的参数。我建议您将 stdout 连接到日志并使用查看日志输出,journalctl -u foo.service而不是从磁盘上的文件中获取它。

如果您想以类似的方式跟踪日志tail -f,则可以使用journalctl -f -u foo.service

相关内容