Введение
journalctl
— это команда, используемая для просмотра и управления системными журналами в операционной системе Linux. Это компонент системы управления журналами «systemd», который заменяет старые инструменты, такие как syslog
и rsyslog
. Journalctl позволяет просматривать, искать, фильтровать и управлять системными журналами более эффективным и организованным способом. Он также ведет журнал во встроенной реляционной базе данных, так что журналы могут быть получены даже после перезагрузки системы.
Прежде чем продолжить, важно понять, что журналы журналов содержат важную информацию, которая может помочь в диагностике проблем. Рекомендуется вести журналы в течение нескольких недель, чтобы убедиться, что у вас достаточно данных для устранения любых проблем, которые могут возникнуть.
Очистить журналы вручную с помощью Journalctl
Прежде чем мы начнем, важно понять, что журналы в журнале systemd хранятся в двоичном формате и автоматически ротируются в зависимости от размера и возраста. Это означает, что вам не нужно вручную удалять старые журналы, чтобы освободить место на диске. Тем не менее, вам все равно может понадобиться сократить журналы, если вам нужно быстро освободить место на диске или если ваши журналы занимают слишком много места на диске.
Вот шаги по использованию journalctl для очистки журналов.
Определите размер журналов вашего дневника
Первым шагом в автоматизации очистки журналов журналов является определение размера журналов. Вы можете использовать следующую команду, чтобы проверить текущий размер ваших журналов:
journalctl --disk-usage
Это покажет вам общий размер журнала и сколько дискового пространства он потребляет. Вы должны увидеть вывод, например:
Archived and active journals take up 2.2G in the file system.
Приведенная выше команда показывает, что журнал jouranlctl использует 2,2 ГБ дискового пространства.
Вы также можете проверить размер журнала с помощью команды du -sh /var/log/journal
.
Удалить старые журналы
Как только размер журнала определен, вы можете очистить старые журналы, используя параметры командной строки –vacuum-size
, –vacuum-time
. Базовый синтаксис для очистки журналов в зависимости от размера:
journalctl --vacuum-size=<size>
Замените максимальным размером, который вы хотите использовать для журнала, в байтах. Например, если вы хотите ограничить размер журнала до 500 МБ, вы должны использовать следующую команду:
journalctl --vacuum-size=500M
Вы также можете удалить файлы журналов старше определенного периода времени. Например, чтобы удалить все файлы старше 7 дней, запустите:
sudo journalctl --vacuum-time=7d
Окончательная проверка
Чтобы убедиться, что журналы очищены, повторно запустите команду journalctl –disk-usage
и убедитесь, что размер журнала уменьшен до требуемого предела.
Автоматизировать очистку реестра Journalctl
Журналы Journalctl могут занимать много места на диске в системах Linux. Чтобы контролировать размер журнала, вы можете настроить Systemd на автоматическую очистку старых журналов. Это можно сделать, изменив настройки в файле /etc/systemd/journald.conf.
- SystemMaxUse: максимальное дисковое пространство, которое могут использовать файлы журналов.
- SystemMaxFileSize: максимальный размер отдельного файла журнала.
- SystemMaxFiles: максимальное количество файлов журнала за раз.
Вот шаги для автоматизации очистки журнала журнала с помощью файла /etc/systemd/journald.conf:
Откройте файл /etc/systemd/journald.conf в текстовом редакторе:
sudo nano /etc/systemd/journald.conf
Добавьте или измените следующие записи в файле:
# Set the maximum size of the journal logs in bytes
SystemMaxUse=200M
# Set the number of days after which logs will be deleted
MaxRetentionSec=7d
Сохраните и закройте файл.
Перезапустите службу журнала Systemd, чтобы применить изменения:
sudo systemctl restart systemd-journald
Теперь Systemd будет автоматически очищать журналы журнала старше 7 дней и следить за тем, чтобы общий размер журнала не превышал 200 миллионов. Вы можете проверить текущий размер ваших журналов, используя команду journalctl –disk-usage.
Примечание. Значения, используемые в этом примере, предназначены только для демонстрационных целей. Вам необходимо настроить значения в соответствии с конкретными требованиями вашей системы.
Заключение
В этой статье мы предоставили руководство для начинающих по использованию journalctl для очистки системных журналов. Удаляя старые журналы, вы освобождаете место на диске и систематизирует системные журналы, а также упрощает поиск. Настроив параметры в файле /etc/systemd/journald.conf, вы можете автоматизировать процесс очистки журналов журналов в системах Linux с помощью Systemd. Это помогает гарантировать, что ваши журналы не занимают лишнего места на диске и что у вас есть доступ к нужным данным, когда они вам нужны.