Как использовать Logrotate в Ubuntu
Logrotate - это системная служебная программа, которая используется для управления файлами журналов в Ubuntu. Когда большое количество серверов обрабатывается какой-либо системой, создается большой объем файлов журнала, который занимает огромное место на диске. Logrotate используется для автоматического поворота, сжатия или удаления файлов журналов для экономии места на диске. Здесь упоминаются некоторые функции Logrotate:
- Он активируется, когда размер файла журнала становится большим и достигает определенного предела.
- Он создает новый файл журнала после ротации старых файлов.
- Сжимает файлы журналов.
- Он выполняет сценарий оболочки после ротации журнала.
- Удаляет старые повернутые файлы журнала для экономии места на диске.
В этом руководстве вы узнаете, как использовать этот инструмент в Ubuntu 17.10.
Проверка версии Logrotate
Logrotate установлен в Ubuntu по умолчанию. Выполните следующую команду, чтобы проверить, установлена она или нет. Здесь версия Logrotate 3.11.0.
$ logrotate
Файлы конфигурации Logrotate
Информация о конфигурации Logrotate хранится в двух местах. Один из них - это основной файл конфигурации, который находится в / и т.д. / logrotate.conf. Он содержит настройки по умолчанию и использует включать инструкция для получения информации о конфигурации из другого места. Другое место - это каталог, содержащий все файлы конфигурации служб и приложений и расположенный в / и т.д. / logrotate.d. Когда в системе устанавливается какой-либо новый пакет, информация о ротации журнала для этого пакета сохраняется в этом месте.
Открыть logrotate.conf с терминала.
$ нано / и т.д. / logrotate.confБудет показан следующий контент. Вы можете чередовать файлы журналов ежечасно, ежедневно, еженедельно, ежемесячно и ежегодно. Здесь еженедельно означает, что файлы журнала будут настраиваться еженедельно. Следующая строка указывает, что файлы журналов принадлежат пользователям root и группе syslog. Поворот 4 указывает, что Logrotate будет хранить резервные копии файлов журналов в течение 4 недель, а пустые файлы журналов будут созданы после ротации старых файлов журналов. Если вы установите вращение 0, все старые файлы журналов будут удалены. Если вы хотите сжать файлы журнала, просто раскомментируйте строку сжатия, удалив символ решетки.
Если вы откроете каталог / и т.д. / logrotate.d то появится следующий список, который содержит другие файлы конфигурации logrotate.
$ ls / etc / logrotate.d
Запустите команду, чтобы открыть файл конфигурации apache2. Есть много типов правил, которые используются для настройки конфигурации. Некоторые из них объясняются здесь. пропавший без вести указывает, что сообщение об ошибке не будет записано, если файл журнала отсутствует и уведомить указывает, что если файл журнала пуст, он не будет вращаться. Создать 644 root root используется для создания файлов журнала сразу после ротации, как пользователь root и пользовательская группа root с определенным режимом разрешений.
$ нано / и т.д. / logrotate.d / apache2
Создание образца файла конфигурации
Предположим, вы хотите создать файл конфигурации в расположении / дома / убунту / логротате.conf где настройки для logrotate будут установлены следующим образом: файлы журнала будут ежемесячно обновляться, обновляться 10 раз, сжиматься, пропускать сообщение об ошибке, если какой-либо файл журнала отсутствует, и создавать файл журнала после удаления старых. Откройте любой редактор, добавьте следующие параметры настроек и сохраните файл. Здесь, убунту входит в систему имя пользователя.
/ главная / Ubuntu / журналы / *.бревноежемесячно
пропавший без вести
повернуть 10
компресс
Создайте
Выполните следующую команду, чтобы создать файл журнала с именем mylog.бревно и изначально файл журнала пуст.
$ nano mylog.бревноЗапустите команду logrotate, чтобы проверить, созданы ли записи в журнале.
$ logrotate / главная / убунту / логротате.conf --state / home / ubuntu / logrotate-state --verboseСледующий вывод появится после выполнения указанной выше команды в первый раз.
Теперь откройте logrotate-состояние файл, чтобы проверить, что добавлено в файл. Поскольку файлы журнала еще не созданы, появится следующий вывод.
$ нано дома / убунту / логротате-состояние
Выполните следующую команду, чтобы принудительно повернуть файл журнала. Но никаких изменений здесь не будет в соответствии с предыдущим выводом, потому что интервал ротации установлен как ежемесячный, и период времени здесь не превышен.
$ logrotate / главная / убунту / логротате.conf --state / home / ubuntu / logrotate-state--подробный --force
Для настройки файлов журнала доступны многие другие параметры logrotate. Вы получите список параметров logrotate после выполнения следующей команды:
$ man logrotate
Некоторые другие наиболее часто используемые параметры logrotate: size, copytruncate, postrotate, maxage и compresscmd. Эти параметры кратко описаны здесь.
размер:
Эта опция используется для установки предела размера файла журнала, и logrotate будет чередовать файлы журнала, когда размер файла достигает или превышает предел.
copytruncate:
Этот параметр используется для создания копии исходных файлов журнала и усечения исходного размера файла журнала до 0. Чтобы служба, связанная с этим конкретным файлом журнала, могла правильно записывать журнал в исходный файл.
постротация:
Эта опция используется для запуска пользовательского сценария оболочки после завершения ротации файла журнала.
maxage:
Эта опция используется для установки продолжительности времени для хранения информации старого файла журнала. Он устанавливает максимальные значения в днях для хранения файлов журналов, и все файлы журналов будут удалены, когда значения maxage превышают.
compresscmd:
Вы можете сжимать файлы журналов, используя разные команды. Эта опция используется для указания типа команды сжатия.
После прочтения этого руководства вы сможете использовать Logrotate с различными параметрами для правильного управления файлами журнала.
Больше информации
Страница пользователя Logrotate