假设我在ubuntu 16.04上有很多systemd服务单元,如下所示:
[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
另外我已经configurationrsyslog像这样:
if $programname == 'some-script-x' then /var/log/some-script-x.log
完成。 服务日志写入他们的日志。
我想旋转/var/log/some-script-x.log像默认的日志文件,如syslog。 我有一个configuration原型:
/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 。
在这种情况下,系统日志服务器会有多个循环调用。 这让我担心。 如何告诉rsyslog我只想旋转特定的服务日志。 或者如何正确设置旋转,没有额外的电话?