Главная > Управление пакетами и системой > logrotate

logrotate: Управление файлами системных журналов

logrotate — это утилита, отвечающая за автоматический поворот (rotation), сжатие (compression), удаление (removal) и отправку по электронной почте системных файлов журналов. Этот инструмент предотвращает чрезмерное увеличение файлов журналов, занимающих дисковое пространство или влияющих на производительность системы, обеспечивая эффективное управление журналами.

Обзор

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

Основные функции

  • Автоматический поворот и хранение файлов журналов
  • Сжатие и удаление старых файлов журналов
  • Эффективное управление дисковым пространством
  • Гибкое применение правил на основе конфигурационных файлов
  • Входит в стандартную комплектацию большинства дистрибутивов Linux

Основные опции

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

Управление выполнением

Указание файлов

Сгенерированная команда:

Комбинируйте команды.

Описание:

`logrotate` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

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

Запуск logrotate с основным конфигурационным файлом

sudo logrotate /etc/logrotate.conf

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

Предварительный просмотр изменений при запуске в режиме отладки

sudo logrotate -d /etc/logrotate.conf

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

Принудительный поворот файлов журналов

sudo logrotate -f /etc/logrotate.conf

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

Запуск с конфигурационным файлом для конкретного приложения

sudo logrotate -c /etc/logrotate.d/nginx

Запускает logrotate, используя только файл конфигурации для конкретного приложения из каталога `/etc/logrotate.d/`.

Советы и замечания

Советы и замечания по эффективному использованию logrotate.

Расположение конфигурационных файлов

Конфигурационные файлы logrotate обычно расположены в двух местах.

  • /etc/logrotate.conf: Глобальный конфигурационный файл, содержащий значения по умолчанию и включающий (include) другие конфигурационные файлы, применяемые ко всем журналам.
  • /etc/logrotate.d/: Каталог, в котором расположены файлы, определяющие правила поворота журналов для отдельных приложений (например, Nginx, Apache, MySQL).

Основные директивы конфигурации

Часто используемые директивы в конфигурационных файлах logrotate.

  • rotate N: Хранит N повернутых файлов журналов.
  • daily/weekly/monthly/yearly: Указывает частоту поворота журналов.
  • compress: Сжимает повернутые файлы журналов.
  • delaycompress: Сжимает предыдущий журнал при следующем повороте.
  • notifempty: Не поворачивает файл журнала, если он пуст.
  • missingok: Не выдает ошибку, если файл журнала отсутствует.
  • create [mode owner group]: Создает новый файл журнала.
  • postrotate/endscript: Определяет скрипт, который будет выполнен после поворота журнала.

Тестирование при изменении настроек

Перед применением новых настроек logrotate обязательно протестируйте их с помощью опции `-d` (или `--debug`). Это самый безопасный способ проверить правильность настроек, не затрагивая реальную систему.

Интеграция с cron

logrotate обычно автоматически запускается ежедневно через скрипт `/etc/cron.daily/logrotate`. Этот скрипт считывает файл `/etc/logrotate.conf` и обрабатывает все настроенные операции поворота журналов.


Те же команды в категории