Примеры Logrotate для Linux

Primery Logrotate Dla Linux



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

logrotate — это инструмент командной строки Linux для управления записями журнала. Этот инструмент помогает администратору выполнять различные типы задач над записями журнала, такие как ограничение ротируемых файлов журналов, сжатие ротируемых файлов журналов, удаление ненужных файлов журналов, выполнение определенного сценария оболочки на основе файлов журналов и т. д. команды «logrorate» для управления файлами журналов различными способами показаны в этом руководстве на нескольких примерах.

Проверьте установленную версию Logrotate

Команда «logrotate» установлена ​​по умолчанию в новой версии операционной системы Ubuntu. Запустите следующую команду, чтобы проверить установленную версию команды «logrotate»:







$ логротировать --версия



Записи журналов различных приложений по умолчанию хранятся в папке «/var/log». Следующее подобное содержимое появится, если вы проверите содержимое папки.



$ лс / был / бревно





Установите конфигурацию «Logrotate».

Значение настройки Цель
ежедневно/еженедельно/ежемесячно/ежегодно Он определяет продолжительность ротации журналов.
повернуть номер Он определяет количество файлов, которые будут сохранены до удаления старых файлов журналов.
компресс Он используется для сжатия файлов журнала.
сжимать cmd Он используется для установки команды «сжать». Gzip — команда по умолчанию.
распаковать cmd Он используется для установки команды «распаковать». Gunzip — команда по умолчанию.
задержкасжатие Он используется для задержки процесса сжатия файлов журнала.
уведомление пустое Он используется, чтобы не вращать пустой файл.
я скучаю Если он установлен, ошибка об отсутствующих файлах журнала не генерируется.
размер Он используется для установки ограничения на начало ротации файлов журналов.
дататекст Он используется для добавления значения даты в качестве суффикса файла ротации.
копироватьобрезать Он используется для создания копии исходного файла.
предварительно повернутый Он используется для запуска сценария перед ротацией файлов журналов.
постротация Он используется для запуска сценария после ротации файлов журналов.
создавать Он используется для создания файлов журналов с правами root.

Синтаксис:

Синтаксис команды «logrotate» следующий:



логротировать [ ВАРИАНТ ] путь_файла_конфигурации

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

Параметры логротата

Некоторые полезные параметры команды «logrotate» упомянуты ниже:

-f, –force Он используется для принудительного вращения, когда это необходимо.
-d, –отладка Используется для включения режима отладки во время ротации.
-m, –mail <команда> Он используется для отправки электронного письма во время ротации.
-s, –state <файл состояния> Он используется для альтернативных файлов состояния.
-Применение Он используется для печати информации об использовании.
-?, -помощь Он используется для печати вспомогательных сообщений.
-v, – многословный Используется для печати в подробном режиме.

Файл конфигурации Logrotate

Основной файл конфигурации logrotate находится по адресу «/etc/logrotate.conf». Выполните следующую команду, чтобы открыть файл в редакторе nano:

$ нано / и т. д. / logrotate.conf

Настройки по умолчанию для команды «logrotate» показаны в файле «logrotate.conf». Директива «include» используется в файле для получения конфигурации, расположенной в каталоге «/etc/logrotate.d».

Пример 1. Создание простого файла конфигурации Logrotate

Создайте образец файла журнала с именем «/var/log/test.log» с образцами данных журнала. Запустите следующую команду, чтобы открыть редактор nano и создать новый файл «logrotate.conf» в папке «/etc/tmp». Создайте папку «/tmp» с правами root, если она не была создана ранее.

$ нано / и т. д. / tmp / logrotate.conf

Добавьте следующее содержимое в файл «/var/log/test.log». Согласно настройке файл «test.log» будет ротироваться ежедневно, если размер файла превышает 5 КБ:

/ был / бревно / test.log {

ежедневно

размер

его root-администратор

}

Запустите следующую команду, чтобы проверить размер файла журнала:

$ лс / был / бревно / test.log

Запустите команду «logrotate» после создания файла конфигурации.

$ судо логротировать / и т. д. / tmp / logrotate.conf

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

$ лс / был / бревно / test.log

Размер файла «test.log» составляет 1 КБ+. Таким образом, в зависимости от настроек конфигурации ротация не выполняется.

Измените значение размера на 1 КБ в файле «/etc/tmp/logrotate.conf» и снова запустите команду «ls», чтобы проверить размер файла «/var/log/test.log». Согласно выходным данным, файл журнала ротируется и удаляется, поскольку превышен предел размера.

Пример 2. Использование Logrotate Copytruncate

Создайте или измените файл «/etc/tmp/logrotate.conf» со следующими настройками, чтобы показать использование copytruncate. В соответствии с новыми настройками logrotate создает копию исходного файла, сводя исходный размер файла к нулю.

/ был / бревно / test.log {

вращать 5

размер 1 тыс.

копироватьобрезать

его root-администратор

}

Запустите следующую команду, чтобы проверить размер файла «test.log»:

$ лс / был / бревно / test.log

Запустите команду «logrotate» после создания файла конфигурации.

$ судо логротировать / и т. д. / tmp / logrotate.conf

Запустите следующую команду еще раз, чтобы проверить размер файла «test.log» после выполнения команды «logrotate»:

$ лс / был / бревно / test.log

Исходный размер файла становится равным 0 после выполнения команды «logrotate» для настройки copytruncate.

Пример 3: Использование Logrotate Compress

Создайте или измените файл «/etc/tmp/logrotate.conf» со следующими настройками, чтобы показать использование сжатия. В соответствии с новыми настройками logrotate создает файл сжатия исходного файла.

/ был / бревно / test.log {

вращать 5

размер 1 тыс.

компресс

создавать 770 root-администратор

}

Запустите следующую команду, чтобы проверить список файлов и папок «/var/log»:

$ лс / был / бревно /

Запустите команду «logrotate» после создания файла конфигурации.

$ судо логротировать / и т. д. / tmp / logrotate.conf

Запустите следующую команду еще раз, чтобы проверить список файлов и папок «/var/log»:

$ лс / был / бревно /

Сжатый файл «test.log» создается с именем «test.log.1.gz», а исходный файл удаляется.

Пример 4. Использование Logrotate Dateext

Создайте или измените файл «/etc/tmp/logrotate.conf» со следующими настройками, чтобы показать использование dateext. В соответствии с новыми настройками logrotate создает сжатый файл исходного файла со значением даты.

был / бревно / test.log {

его root-администратор

вращать 5

размер 1 тыс.

компресс

создавать 770 root-администратор

дататекст

}

Запустите команду «logrotate» после создания файла конфигурации.

$ судо логротировать / и т. д. / tmp / logrotate.conf

Запустите следующую команду, чтобы проверить список файлов и папок «/var/log»:

$ лс / был / бревно /

Сжатый файл «test.log» создается с именем «test.log.20240129.gz», а исходный файл удаляется.

Пример 5: Использование Logrotate Maxage

Создайте или измените файл «/etc/tmp/logrotate.conf» со следующими настройками, чтобы показать использование максимального размера. Согласно настройкам, logrotate сохраняет пять записей журнала, если размер файла журнала превышает 1 КБ через один день.

/ был / бревно / test.log {

его root-администратор

вращать 5

размер 1 тыс.

компресс

максаж 1

}

Запустите следующую команду «logrotate», чтобы сохранить выходные данные в другом файле журнала с именем «out.log»:

$ судо логротировать '=' / был / бревно / out.log / и т. д. / tmp / logrotate.conf

Согласно следующему выводу, файл «out.log» создается после выполнения команды «logrotate»:

Пример 6: Использование Логротата Миссингок

Создайте или измените файл «/etc/tmp/logrotate.conf» со следующими настройками. Здесь файл журнала «testfile.log» не существует в папке «/var/log».

/ был / бревно / testfile.log {

его root-администратор

вращать 5

размер 1 тыс.

компресс

}

Сообщение об ошибке печатается после выполнения команды «logrotate».

Добавьте параметр «missingok» в файл конфигурации logrotate и снова запустите команду «logrotate». Ошибка для отсутствующего файла журнала не выводится.

Пример 7: Использование преротата Logrotate

Создайте файл Bash с именем «test.sh» с помощью следующего сценария, который печатает простое сообщение. В этом примере logrotate файл используется, чтобы показать использование prerotate в файле конфигурации logrotate.

test.sh



#!/бин/баш

эхо 'примеры logrotate...'

После создания файла выполните следующую команду, чтобы установить разрешение на выполнение этого файла для всех пользователей:

$ chmod а+х / дом / понимание / test.sh

Теперь создайте или измените файл «/etc/tmp/logrotate.conf» со следующими настройками. Согласно настройкам, logrotate сохраняет пять записей журнала, если размер файла журнала превышает 1 КБ и перед ротацией выполняется файл «test.sh».

/ был / бревно / test.log {

его root-администратор

вращать 5

размер 1 тыс.

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

/ дом / понимание / test.sh

конец текста

}

Вывод файла «test.sh» показан после выполнения команды «logrotate»:

Заключение

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