⚙️Использование journalctl vacuum для очистки журналов и управления ими на Linux

Как удалять и управлять логами с journalctl vacuum

by itisgood

Хотя ведение журналов крайне важно для диагностики проблем, файлы журнала могут превратиться в настоящего монстра размером в несколько гигабайт, если ими не управлять должным образом.

Именно поэтому утилита journalctl оснащена функцией очистки (“vacuum”), которая помогает аккуратно удалять старые записи журнала аналогично тому, как пылесос очищает дом от пыли.

🐳 Как разлогиниться из реджестри Docker?

Вот краткий обзор наиболее распространённых способов управления журналами системы:

Опция journalctl Что делает Пример
–disk-usage Показывает текущий размер journalctl –disk-usage
–vacuum-size Сокращает журналы до заданного размера sudo journalctl –vacuum-size=500m
–vacuum-time Сохраняет журналы за определённый период sudo journalctl –vacuum-time=30d
–vacuum-files Ограничивает количество файлов журнала sudo journalctl –vacuum-files=10

Прежде всего, проверьте, сколько места занимают ваши журналы.

Перед удалением убедитесь, насколько сильно занято пространство диска журналами.

Вы можете посмотреть текущую занятость диска командой:

journalctl --disk-usage

Если это число превышает 500 МБ, а вы в данный момент не устраняете серьезную системную проблему, вероятно, пришло время для “vacuum.

journalctl --disk-usage

Если объём превышает 500 мегабайт, и у вас нет активных серьёзных проблем с системой, вероятно, пришло время провести чистку.

🐧 Как проверить логи Crontab на Linux

Термин “vacuum” здесь означает удаление старых записей журнала до достижения определённого критерия. Существует три основных способа сделать это:

  1. Удаление по размеру (–vacuum-size): данная опция позволяет ограничить общий размер всех журнальных файлов до указанного значения. Предположим, вы решили оставить лишь 500 мегабайт:
sudo journalctl --vacuum-size=500M

Этот метод идеально подходит для серверов или небольших твёрдотельных накопителей, где свободное место ограничено.

  1. Удаление по времени (–vacuum-time): иногда важнее сохранить историю за последнее время, нежели контролировать размер файлов. Например, если вам важны события последних двух недель, используйте данную опцию:
sudo journalctl --vacuum-time=2weeks

Можно указывать дни, недели, месяцы или годы. Этот вариант удобен, если сроки давности имеют значение больше, чем занимаемое пространство.

🐧 Как распарсить логи истории apt

  1. Удаление по количеству файлов (–vacuum-files): этот режим ограничивает число файлов журнала на диске. Система сама разделяет большие активные файлы на части, сохраняя старую версию отдельно. Таким образом, вы можете задать ограничение количества отдельных файлов:
sudo journalctl --vacuum-files=100

Автоматизация процесса очистки журналовОднократная чистка полезна, однако мы часто забываем проверять состояние дисков, пока не получаем уведомление “Недостаточно свободного пространства”. Чтобы сэкономить своё время, процесс чистки можно автоматизировать двумя способами:

Способ №1: Использование классического cron

Создать задание в cron несложно, оно отлично подойдёт для простых еженедельных задач.

Откройте файл cron для редактирования:

sudo crontab -e

И добавьте такую строчку внизу файла:

0 2 * * 0 /usr/bin/journalctl --vacuum-time=30d

Что это значит?

  • 0 2 * * 0: каждое воскресенье в два часа ночи.
  • /usr/bin/journalctl –vacuum-time=30d: удалить все записи старше месяца.

Способ №2: Использование встроенных возможностей systemd (рекомендуемый способ)

Ещё лучше интегрироваться с самим systemd, контролируя очищение прямо внутри конфигурационного файла journald.conf. Здесь ограничения задаются по объёму, а не ждут фиксированного расписания.

Проверьте текущую конфигурацию:

systemd-analyze cat-config systemd/journald.conf

Измените параметр SystemMaxUse= на нужное значение, например:

SystemMaxUse=500M

Перезагрузите службу:

sudo systemctl restart systemd-journald

Теперь, как только объем журнала превысит указанное значение, самые старые записи будут автоматически удалены.

🎯 Как копировать (и вставлять) файлы и каталоги из командной строки Linux

Заключение

Использование опции journalctl –vacuum позволяет освободить место на диске, поддерживать политику хранения журналов и обеспечивать стабильную работу системы.

Автоматизация процесса гарантирует регулярную оптимизацию размеров журналов без вмешательства пользователя.

см. также:

 

Loading

You may also like

Leave a Comment