Как проверить, настроена ли ротация журналов в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, настроена ли ротация журналов на системе Linux. Ротация журналов представляет собой важный процесс для управления файлами журналов, предотвращающий их избыточное потребление дискового пространства. Вы изучите основной конфигурационный файл logrotate, рассмотрите скрипты ротации журналов, специфичные для приложений, и используете команду logrotate -d для проверки статуса и имитации процесса ротации журналов.

Следуя шагам этого практического занятия, вы получите практический опыт в проверке и понимании настройки ротации журналов на своей системе Linux, обеспечивая эффективное управление файлами журналов.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/service("Service Managing") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") subgraph Lab Skills linux/ls -.-> lab-558731{{"Как проверить, настроена ли ротация журналов в Linux"}} linux/cat -.-> lab-558731{{"Как проверить, настроена ли ротация журналов в Linux"}} linux/service -.-> lab-558731{{"Как проверить, настроена ли ротация журналов в Linux"}} linux/sudo -.-> lab-558731{{"Как проверить, настроена ли ротация журналов в Linux"}} end

Проверка конфигурации logrotate с помощью команды cat /etc/logrotate.conf

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

Основной конфигурационный файл для logrotate находится по пути /etc/logrotate.conf. Этот файл содержит глобальные настройки и включает конфигурации для конкретных приложений или служб из директории /etc/logrotate.d/.

Для просмотра содержимого основного конфигурационного файла logrotate вы будете использовать команду cat. Команда cat - это стандартная утилита Unix, которая последовательно читает файлы и выводит их на стандартный вывод.

Если терминал еще не открыт, откройте его. Для этого нажмите на значок Xfce Terminal слева на рабочем столе.

Теперь введите следующую команду в терминал и нажмите Enter:

cat /etc/logrotate.conf

Эта команда отобразит весь контент файла /etc/logrotate.conf прямо в вашем терминале.

Вы увидите вывод, похожий на следующий:

## see "man logrotate" for details

## rotate log files weekly
weekly

## use the syslog group by default, since this is the owning group
## of /var/log/syslog.
su root syslog

## keep 4 weeks worth of backlogs
rotate 4

## create new (empty) log files after rotating old ones
create

## uncomment this if you want your log files compressed
#compress

## packages drop log rotation information into this directory
include /etc/logrotate.d

## system-specific logs may be also be configured here.

Этот вывод показывает настройки по умолчанию для logrotate, такие как еженедельная ротация журналов (weekly), хранение журналов в течение 4 недель (rotate 4) и создание новых файлов журналов после ротации (create). Также он содержит строку include /etc/logrotate.d, которая сообщает logrotate читать дополнительные конфигурационные файлы из этой директории.

Понимание основного конфигурационного файла - это первый шаг к управлению ротацией журналов на системе Linux.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка скриптов logrotate в /etc/logrotate.d

На предыдущем шаге вы увидели, что основной файл logrotate.conf включает конфигурационные файлы из директории /etc/logrotate.d/. Именно в этой директории отдельные приложения и службы помещают свои специфические конфигурационные файлы для logrotate.

Каждый файл в /etc/logrotate.d/ обычно содержит инструкции о том, как ротировать файлы журналов для конкретной программы. Такой модульный подход упрощает управление ротацией журналов для множества различных служб на системе.

Чтобы увидеть, какие конфигурационные файлы находятся в этой директории, вы будете использовать команду ls. Команда ls выводит список содержимого директории.

Введите следующую команду в терминал и нажмите Enter:

ls /etc/logrotate.d/

Эта команда выведет список всех файлов в директории /etc/logrotate.d/.

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

apt  auth.log  dpkg  rsyslog

Эти имена файлов часто соответствуют службам или приложениям, чьи журналы ротируются (например, apt - для менеджера пакетов, rsyslog - для системных журналов).

Чтобы более детально рассмотреть один из этих конфигурационных файлов, вы можете снова использовать команду cat. Например, давайте посмотрим конфигурацию для apt:

cat /etc/logrotate.d/apt

Это отобразит содержимое конфигурационного файла logrotate для apt. Вы увидите конкретные директивы для ротации файлов журналов apt, такие как какие файлы журналов ротировать, с какой частотой и сколько старых журналов сохранять.

Изучив файлы в /etc/logrotate.d/, вы сможете понять, как настроена ротация журналов для различных служб на вашей системе.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка статуса logrotate с помощью команды logrotate -d

На этом последнем шаге вы научитесь использовать команду logrotate с опцией -d для выполнения "тестового запуска" (dry run). Тестовый запуск имитирует действия, которые logrotate выполнил бы, но не выполняет их на самом деле. Это чрезвычайно полезно для тестирования конфигураций logrotate и понимания того, что произойдет при реальном запуске logrotate.

Опция -d означает "отладка" (debug) или "тестовый запуск" (dry run). Когда вы используете ее, logrotate прочитает свои конфигурационные файлы и сообщит, что бы сделал, но не изменит никаких файлов и не выполнит ротацию журналов.

Поскольку logrotate обычно требует привилегий root для доступа и изменения файлов журналов в системных директориях, таких как /var/log, вам нужно будет использовать команду sudo для запуска logrotate с необходимыми правами. Помните, что пользователь labex имеет привилегии sudo без необходимости ввода пароля в этой среде.

Введите следующую команду в терминал и нажмите Enter:

sudo logrotate -d /etc/logrotate.conf

Разберем эту команду:

  • sudo: Выполняет команду с привилегиями суперпользователя.
  • logrotate: Командная утилита для управления файлами журналов.
  • -d: Опция для выполнения тестового запуска (режим отладки).
  • /etc/logrotate.conf: Основной конфигурационный файл, который должен прочитать logrotate.

Вывод этой команды будет довольно подробным. Он покажет, какие файлы журналов рассматривает logrotate, какие конфигурационные директивы применяются к ним и требуется ли ротация на основе текущего состояния и конфигурации.

Вы увидите вывод, описывающий обработку основного конфигурационного файла и включенных файлов из /etc/logrotate.d/. Он укажет для каждого файла журнала, требуется ли его ротация и почему (например, из-за размера или возраста).

Пример вывода может содержать строки, такие как:

reading config file /etc/logrotate.conf
including /etc/logrotate.d
reading config file apt
...
rotating pattern: /var/log/apt/term.log /var/log/apt/history.log  weekly
...
considering log /var/log/apt/term.log
  log does not need rotating
considering log /var/log/apt/history.log
  log does not need rotating
...

Этот вывод подтверждает, что logrotate прочитал конфигурацию для apt и определил, что его файлы журналов в настоящее время не требуют ротации.

Использование logrotate -d является важным шагом перед развертыванием любых новых или измененных конфигураций logrotate, чтобы убедиться, что они работают как ожидается и не вызывают непредвиденных проблем с вашими файлами журналов.

Теперь вы успешно проверили основную конфигурацию logrotate, просмотрели отдельные конфигурационные файлы и выполнили тестовый запуск, чтобы увидеть, как поведет себя logrotate.

Нажмите Продолжить, чтобы завершить этот практический урок.

Резюме

В этом практическом уроке вы научились проверять, настроена ли ротация журналов в Linux. Вы начали с изучения основного конфигурационного файла logrotate, расположенного по пути /etc/logrotate.conf, с помощью команды cat. На этом шаге вы увидели глобальные настройки для ротации журналов, такие как частота ротации, период хранения и включение конфигураций, специфичных для приложений, из директории /etc/logrotate.d.

После проверки основной конфигурации вы обычно переходите к проверке отдельных скриптов logrotate в директории /etc/logrotate.d, чтобы понять, как обрабатываются журналы конкретных приложений. Наконец, вы проверяете статус logrotate с помощью команды logrotate -d, чтобы выполнить тестовый запуск и увидеть, как будет выполняться ротация журналов без фактических изменений, что позволяет вам убедиться в эффективности конфигурации.