跳过停止/禁用的应用程序的 logrotate

跳过停止/禁用的应用程序的 logrotate

我有一个在 Raspberry Pi 2 上运行 GNU/Linux 的备用系统。由于各种原因,我必须停止和/或禁用某些应用程序。对于需要重新启动的已停止应用程序,如何跳过 logrotate,例如:samba、httpd:

我收到通过电子邮件发送给我的以下错误。

/etc/cron.daily/logrotate:
Job for smbd.service failed. See 'systemctl status smbd.service' and 'journalctl -xn' for details.
error: error running non-shared postrotate script for /var/log/samba/log.smbd of '/var/log/samba/log.smbd '
run-parts: /etc/cron.daily/logrotate exited with return code 1

如果 smbd 和/或 nmbd 未运行,是否有 postrotate/endscript 方法可以跳过旋转?

答案1

在您的 logrotate 配置文件(或特定的/etc/logrotate.d子文件)中,您必须有一个如下部分:

/var/log/samba/log.smbd {
        ...
        postrotate
                /etc/init.d/smbd reload > /dev/null
        endscript
        ...
}

将 postrotate 命令更改为:

/var/log/samba/log.smbd {
        ...
        postrotate
                { pidof smbd && /etc/init.d/smbd reload; } > /dev/null
        endscript
        ...
}

相关内容