假设我有许多 systemd 服务单元,ubuntu 16.04
如下所示:
[Unit]
Description=Do something script
After=default.target
[Service]
ExecStart=/usr/local/sbin/some-script-x.sh
Type=simple
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=some-script
[Install]
WantedBy=default.target
我也像这样配置了 rsyslog:
if $programname == 'some-script-x' then /var/log/some-script-x.log
完成。服务日志写入其日志。
我想像/var/log/some-script-x.log
syslog 等默认日志文件一样进行轮换。我有一个配置原型:
/var/log/some-script-x.log
{
rotate 30
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
但是系统已经有一个/etc/logrotate.d/rsyslog
包含以下内容的文件invoke-rc.d rsyslog rotate > /dev/null
。
在此配置情况下,对 syslog 服务器有多次轮换调用。这让我很担心。如何告诉 rsyslog 我只想轮换特定的服务日志。或者如何正确设置轮换,而无需额外的调用?