Обзор
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` и обрабатывает все настроенные операции поворота журналов.