我有一个使用 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
。