关闭指定 systemd 服务的日志记录

Kri*_*ian 5 logs systemd-journald

我有一个特定的 systemd 服务,我不希望将其日志记录到journald/journalctl。目前的原因是它已经记录到 syslog(已经轮换),并且journald/journalctl 日志被该服务的日志淹没(磁盘空间问题)。

现在我已经更改了journald/journalctl的配置Storage=volatile,这样它就不会写入磁盘太多。我知道我可以更改SystemMaxUseSystemKeepFreein /etc/systemd/journald.conf,但这并不理想,因为来自其他服务的日志将被该特定服务覆盖。我想继续使用journald/journalctl,但只是不用于该特定服务。

我可以在服务单元文件中更改任何配置,/etc/systemd/system/myservice.service以便它不会记录到journald/journalctl 中吗?

小智 0

没有任何 systemd 配置允许您禁用服务的日志记录,但仍转发到其他 syslog 守护进程(如 rsyslog)。我在自定义 C++ 程序中看到的做法是绕过日志记录,而是打开与 rsyslog 监视的套接字的直接连接/run/systemd/journal/syslog

  • 正如我在问题中所说,该服务已经自行将日志写入 syslog(不是由 systemd 转发,但服务本身正在写入 syslog)。所以我想要完成的是仅关闭该服务的日志记录。 (2认同)