避免 systemd 单元(服务)记录到日志中

避免 systemd 单元(服务)记录到日志中

为了生成某些磁盘的指标,我设置了一个systemd.定时器+systemd.service

该计时器每 10 秒旋转一次,我希望避免每次生成并成功执行此小脚本时我的日志都被垃圾邮件淹没。

日记里写了很多这样的内容

Jan 04 17:21:31 hostname systemd[1]: personal.service: Succeeded.
-- Subject: Unit succeeded
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit personal.service has successfully entered the 'dead' state.

此外,还有审计每次启动服务时

Jan 04 17:22:31 hostname audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=personal comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Jan 04 17:22:31 hostname kernel: audit: type=1131 audit(1578158551.035:11612): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=personal comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

答案1

Daniel Aleksandersen 写了一篇关于此问题的好文章

调整或静音 systemd 服务的日志记录级别

覆盖服务单元:

systemctl edit Your.service

添加 LogLevelMax 参数。

[Service]
LogLevelMax=2

标准日志级别为 emergency (0)、alert (1)、critical (2)、error (3)、warning (4)、notice (5)、info (6)、debug (6)。重启服务:

systemctl daemon-reload
systemctl restart Your.service

静音标准输出

创建服务单元覆盖:

systemctl edit Your.service

将输出定向为空。

[Service]
StandardOutput=null
#StandardError=null

重新启动服务:

systemctl daemon-reload
systemctl restart Your.service

该服务将不再将标准输出消息转发到日志。

有关更多详细信息,请访问上述链接的 Daniel 的博客并请他喝杯咖啡

相关内容