当前位置: 首页 > 工具软件 > OpenSupports > 使用案例 >

centos 7,8 systemd service 自定义日志输出

贲言
2023-12-01

背景

默认情况下, 在 centos 7, 8 上, 使用 systemd 控制服务
服务日志输出默认都由 journald 接受

目的

自定义 service 的日志输出

方法1

简单, 但进程会以子进程方式启动, 通过 shell 重定向方法控制
参考下面随意的 service 服务启动方法

[Service]
ExecStart=/bin/sh -c /apps/myprogram -c /apps/myconfig > /apps/log/mylog 2>&1

可以通过 systemctl status servicename.service 查询进程运行情况
上面情况会导致 /bin/sh 产生子进程再运行你的程序
日志控制由 shell 进行重定向

方法2

通过 rsyslog 进行日志重新定义

参考 service 语法

[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=my-pro-agent
ExecStart=/apps/myprogram -c /apps/myconfig 

参考 rsyslog 定义方法
注意, my-pro-agent

 类似资料: