.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% от емкости диска или 4 ГБ, в зависимости от того, что меньше. Если /var
не смонтирован, недоступен для записи или /var/log/journal
не существует, journald
журналы будут храниться только в энергозависимой памяти ( /run/log/journal
.)
Если ваша служба создает собственные файлы журнала вне журнала systemd, вам необходимо создатьlogrotateвход для управления ими.