我有一个 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 日志之外创建自己的日志文件,您需要创建一个对数旋转进入管理它们。