我试图重定向输出的systemd服务到一个文件,但它似乎不工作:
[Unit]
Description=customprocess
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/binary1 agent -config-dir /etc/sample.d/server
StandardOutput=/var/log1.log
StandardError=/var/log2.log
Restart=always
[Install]
WantedBy=multi-user.target
请纠正我的做法。
你可能会得到这样的错误:
Failed to parse output specifier, ignoring: /var/log1.log
从system .exec(5)手册页:
StandardOutput =
控制已执行进程的文件描述符1 (STDOUT)连接到的位置。取inherit、null、tty、journal、syslog、kmsg、journal+console、syslog+console、kmsg+console或socket中的一种。
exec(5)手册页解释了与日志记录相关的其他选项。请参见system .service(5)和system .unit(5)手册页。
或者你可以尝试这样的事情(都在一行中):
ExecStart=/bin/sh -c '/usr/local/bin/binary1 agent -config-dir /etc/sample.d/server 2>&1 > /var/log.log'