Журналы (логи) играют важную роль в сборе разнообразной информации. Они очень полезны при устранении различных проблем. Хотя иногда работа с журналами (логами) может быть неудобной, но они становятся незаменимыми инструментами при решении проблем. В данной статье мы покажем процесс установки и настройки logrotate в операционную систему CentOS 8.
Logrotate — это утилита в Unix подобных системах, предназначенная для управления и ротации (циклической перезаписи) журналов (логов). Приложение позволяет автоматически архивировать и очищать старые журналы. Это позволяет предотвратить их неограниченный рост и экономить место на диске.
Logrotate обычно используется для обработки системных журналов, таких как журналы системы, аутентификации, веб-сервера и других приложений. Он позволяет настраивать параметры ротации, такие как частота ротации, количество архивируемых файлов, сохранение или удаление старых журналов, сжатие архивов и многое другое.
И так давайте я покажу как выполняется установка и настройка Logrotate в CentOS 8.
Установка и настройка Logrotate в CentOS 8
Сначала требуется обновить систему.
dnf -y update
Далее установите logrotate, сделать это можно с помощью следующей команды.
yum install -y logrotate
После установки проверьте версию logrotate, для этого введите команду.
logrotate --version
Если вы получили примерно такой ответ, то значит все отлично и можно переходить к настройке.
Настройка Logrotate
Конфигурацию Logrotate можно проверить и отредактировать в конфигурационном файле. Данный файл располагается по адресу «/etc/logrotate.conf
«. Давайте откроем его.
nano /etc/logrotate.conf
Теперь в качестве примера мы будем использовать logrotate. Мы установим расписание ротации журнала, количество ротаций файлов журнала, ограничение размера файлов журнала и другие параметры.
Файлы Logrotate будут располагаться по такому пути «/etc/logrotate.d/httpd
«.
/var/log/httpd/*log {
daily
rotate 3
size 5M
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}
- daily: устанавливает ротацию ежедневно.
- rotate 3: указывает количество сохраняемых файлов журнала во время ротации.
- size: активирует ротацию файлов журнала только при достижении указанного размера в байтах.
- missingok: при отсутствии файла журнала переходит к следующему без выдачи ошибки.
- notifyempty: не производить ротацию журнала, если он пустой (отменяет опцию ifempty).
- sharedscripts: скрипты выполняются только один раз, независимо от количества журналов, соответствующих шаблону, и передаются им.
- delaycompress: задерживает сжатие предыдущего файла журнала до следующей ротации.
Далее вы можете проверить функцию ротации журналов, для этого выполните следующую команду.
logrotate -d /etc/logrotate.d/httpd
Ну вот в принципе и все, вы установили Logrotate на CentOS и можете использовать его.