如何将 Journalctl 输出从 systemctl --user 服务重定向到文件?

如何将 Journalctl 输出从 systemctl --user 服务重定向到文件?

我需要将 systemd 输出(不是二进制文件 stdout / stderr。我的意思是发送到journalctl 的实际 systemd 输出)重定向到特定用户单元的文件。

我知道用户可以使用以下命令查看journalctl

journalctl --follow --user -u userunit.service

然而,这需要调整/etc/systemd/journald.conf,并调整存储,Storage=persistent然后重新启动。我们不能这样做。

我知道如何将二进制文件的 stdout 和 sterr 重定向到文件。如何将单元的所有journalctl 输出重定向到我选择的文件?

这可能吗?

编辑

本地似乎没有办法做到这一点。因此我创建了一个单独的单元来执行journalctl的重定向,以下工作。

[Unit]
Description=redirect journalctl output for userunit to .log file

[Service]
ExecStart=/usr/bin/bash -c "/usr/bin/journalctl --follow --user -u userunit.service >> /home/user1/log/userunit.log"
Restart=always
RestartSec=3
Type=simple
    
[Install]
WantedBy=default.target

相关内容