linux定向到文件夹,linux – 如何将systemd服务的输出重定向到文件

我试图将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

请纠正我的方法.

解决方法:

我认为有一种更优雅的方法来解决问题:使用标识符将stdout / stderr发送到syslog,并指示您的syslog管理器按程序名称拆分其输出.

在systemd服务单元文件中使用以下属性:

StandardOutput=syslog

StandardError=syslog

SyslogIdentifier= # without any quote

然后,假设您的发行版使用rsyslog来管理syslogs,请在/etc/rsyslog.d/\u0026lt;new_file\u0026gt;.conf中创建一个文件,其中包含以下内容:

if $programname == '' then /path/to/log/file.log

& stop

现在使syslog可以写入日志文件:

# ls -alth /var/log/syslog

-rw-r----- 1 syslog adm 439K Mar 5 19:35 /var/log/syslog

# chown syslog:adm /path/to/log/file.log

重启rsyslog(sudo systemctl restart rsyslog)并享受!您的程序stdout / stderr仍然可以通过journalctl(sudo journalctl -u)获得,但它们也可以在您选择的文件中使用.

标签:rhel,linux,centos7,systemd,rhel7

来源: https://codeday.me/bug/20190918/1810491.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值