Как очистить журнал

Я не смог найти в Google безопасный способ очистки журнала systemd. Кто-нибудь знает безопасный и надежный способ сделать это?

Предположим, я экспериментировал с чем-то, и мои журналы были загромождены различными сообщениями об ошибках. Более того, я показываю свой журнал на своем рабочем столе, используя Conky. Я действительно не хочу видеть эти ошибки, поскольку они напоминают мне ужасный день, когда я исправлял этот материал, я хочу почувствовать себя новым человеком после этого ужаса. Я думаю, все согласятся, что это действительная причина для очистки журналов: P.

135 голосов | спросил Łukasz Zaroda 27 J0000006Europe/Moscow 2014, 15:43:05

7 ответов


166

Метод самообслуживания - это вакуумные журналы по размеру или времени.

Сохранять только последние два дня:

journalctl --vacuum-time=2d

Сохранять только последние 500 МБ:

journalctl --vacuum-size=500M

man journalctl для получения дополнительной информации.

ответил Michael 2 PMpThu, 02 Apr 2015 19:43:51 +030043Thursday 2015, 19:43:51
46

Вы обычно не очищаете журнал самостоятельно. Это управляется самой системой, и старые журналы вращаются, когда появляются новые данные. Правильная вещь, которую нужно сделать, - это запланировать журналист только для того, чтобы хранить столько данных, сколько вам интересно. Наиболее обычным для настройки является общий диск пространство разрешено заняться. Как только он пересечет эту границу, он начнет качать старые записи, чтобы оставаться рядом с этим значением.

Вы можете установить это в /etc/systemd/journald.conf так:

SystemMaxUse=100M
ответил Caleb 27 J0000006Europe/Moscow 2014, 15:52:36
10

В Arch linux ближайший я получил:

  • Изменить /etc/systemd/journald.conf, чтобы установить SystemMaxUse = 1M
  • Перезапуск журнала: sudo systemctl restart systemd-journald
  • Сброс SystemMaxUse = 200M
  • Перезапуск журнала

В моей системе каждый файл журнала составляет 8 МБ, а выше всего очищено все, кроме 3, доведя общий размер до ~ 25 МБ.

Мой прецедент отключил CoW для BTRFS (только для каталога журнала и подкаталогов): sudo chattr +C /var/log/journal/*. Проблема в том, что атрибут установлен только для вновь созданных файлов, поэтому желание очистить журнал.

ответил helmingstay 12 FebruaryEurope/MoscowbThu, 12 Feb 2015 02:53:22 +0300000000amThu, 12 Feb 2015 02:53:22 +030015 2015, 02:53:22
8

Метод очень грубой силы для очистки всего журнала:

$ sudo journalctl --vacuum-time=1seconds

Вы также можете использовать --vacuum-size, как сказал Майкл.

ответил Lanti 6 J000000Monday15 2015, 21:18:29
6

Так как --vacuum-time и --vacuum-size ничего не сделал для меня, я сделал следующее:

 $ find /var/log/journal -name "*.journal" | xargs sudo rm
$ sudo systemctl restart systemd-journald

Это неправильно, но это сработало.

ответил Matt 31 SatEurope/Moscow2016-12-31T01:08:04+03:00Europe/Moscow12bEurope/MoscowSat, 31 Dec 2016 01:08:04 +0300 2016, 01:08:04
0

journal-ctl -b-0 будет отображаться только с самой последней загрузки. Вы также можете использовать -1, -2 и т. Д. Ваш ужасный день все еще существует, но вам не придется его видеть, если вам не нужно.

ответил David 1 J0000006Europe/Moscow 2015, 14:11:16
0

Ответ Майкла отсутствует одно: пылесос удаляет только архивные файлы журнала, а не активные. Чтобы избавиться от всего, сначала нужно повернуть файлы, чтобы последние записи были перенесены в неактивные файлы.

Итак, полный ответ на удаление записей all кажется

journalctl --rotate
journalctl --vacuum-time=1s

(Обратите внимание, что вы не можете объединить это в одну команду journalctl.)

Кстати, в некоторых дистрибутивах journald настроен так, что он записывает журналы на диск (/var/log/journal), в то время как другие хранят журналы в памяти (/run/log/journal). Я ожидаю, что в некоторых случаях может понадобиться сначала использовать journalctl --flush, чтобы все было удалено.

ответил Jan Warchoł 23 J000000Monday18 2018, 12:48:19

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132