![systemd 服务会自动管理其日志(进行日志轮换等)](https://linux22.com/image/170180/systemd%20%E6%9C%8D%E5%8A%A1%E4%BC%9A%E8%87%AA%E5%8A%A8%E7%AE%A1%E7%90%86%E5%85%B6%E6%97%A5%E5%BF%97%EF%BC%88%E8%BF%9B%E8%A1%8C%E6%97%A5%E5%BF%97%E8%BD%AE%E6%8D%A2%E7%AD%89%EF%BC%89.png)
我有一个 systemd 服务配置,如下所示:
[Unit]
Description=cprev agent
After=network.target
StartLimitIntervalSec=2
[Service]
Type=simple
Restart=always
RestartSec=15
ExecStart=/home/oleg/.local/bin/cprev-safe-start
[Install]
WantedBy=default.target
我像这样安装服务:
rsync "$PWD/systemd.service" "$HOME/.config/systemd/user/cprev.agent.service"
systemctl --user daemon-reload
systemctl --user enable cprev.agent.service
systemctl --user restart cprev.agent.service
我可以使用以下方法跟踪我的服务日志:
journalctl -f --user -u cprev.agent.service
我的问题是 - 我是否需要手动截断我的服务的日志,以免它们填满,或者 systemd 是否为我管理日志?如果它对我有用,它是如何运作的?
答案1
根据systemd文档,日志journald
默认保留的大小限制为磁盘容量的 15% 或 4GB,以较小者为准。如果/var
未挂载、不可写或/var/log/journal
不存在,journald
日志将仅存储在易失性内存中 ( /run/log/journal
.)
如果您的服务在 systemd 日志之外创建自己的日志文件,您需要创建一个对数旋转进入管理它们。