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 {ежедневно
размер 5К
его 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 узнать, как используется команда, и правильно управлять файлами журналов.