Как установить и использовать logrotate для управления файлами журнала в Ubuntu 18.04 LTS

Файлы журналов наиболее важны для безопасности системы Linux.

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

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

Программа logrotate , используемая для ротации файлов журнала, удаляя самые старые из вашей системы и создавая новые файлы журналов.

В этом уроке я объясню, как использовать logrotate для управления журналами на сервере Ubuntu 18.04.

Требования

  • Сервер, на котором запущен сервер Ubuntu 18.04.
  • Пользователь с привилегиями sudo.

Установка Logrotate

По умолчанию logrotate доступен на сервере Ubuntu 18.04 LTS.

Если нет, вы можете установить его, выполнив следующую команду:

sudo apt-get install logrotate -y

После установки logrotate вы можете проверить версию logrotate, используя следующую команду:

sudo logrotate

Вывод:

logrotate 3.11.0 - Copyright (C) 1995-2001 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License

Usage: logrotate [-dfv?] [-d|--debug] [-f|--force] [-m|--mail=command]
[-s|--state=statefile] [-v|--verbose] [-l|--log=STRING] [--version]
[-?|--help] [--usage] [OPTION...]

Настройка Logrotate

По умолчанию основной файл конфигурации logrotate logrotate.conf находится по адресу /etc/logrotate.conf.

Другие файлы конфигурации доступны в /etc/logrotate.d.

Вы можете перечислить их с помощью следующей команды:

ls /etc/logrotate.d

Вывод:

alternatives  apport  dpkg  mysql-server  rsyslog  unattended-upgrades
apache2       apt     lxd   openproject   ufw

Ниже перечислены основные параметры logrotate:

missingok: Не поднимает ошибку, если лог отсутствует

weekly: ротирует файлы журнала один раз в неделю

create: старый файл сохраняется под новым именем и создается новый файл

compress:logrotate сжать файлы журнала с помощью gzip для экономии места

rotate 4: logrotate удаляет этот журнал четыре раза, поэтому он хранит четыре недели журналы

notifyempty: ротирует файл журнала, когда он пуст.

По умолчанию logrotate запускается ежедневно, выполняя скрипт оболочки /etc/cron.daily/logrotate.

Давайте проверим ротацию логов apache, выполнив следующую команду:

sudo logrotate -d /etc/logrotate.d/apache2

Вывод:

 sudo logrotate -d /etc/logrotate.d/apache2

reading config file /etc/logrotate.d/apache2
Reading state from file: /var/lib/logrotate/status
Allocating hash table for state file, size 64 entries

Handling 1 logs

rotating pattern: /var/log/apache2/*.log  after 1 days (14 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/apache2/access.log
Creating new state
  Now: 2018-10-11 16:04
  Last rotated at 2018-10-11 16:00
  log does not need rotating (log has been already rotated)
considering log /var/log/apache2/error.log
Creating new state
  Now: 2018-10-11 16:04
  Last rotated at 2018-10-11 16:00
  log does not need rotating (log has been already rotated)
considering log /var/log/apache2/other_vhosts_access.log
Creating new state
  Now: 2018-10-11 16:04
  Last rotated at 2018-10-11 16:00
  log does not need rotating (log has been already rotated)
not running prerotate script, since no logs will be rotated
not running postrotate script, since no logs were rotated

По умолчанию logrotate запускается как ежедневное задание cron.

Вы можете проверить /etc/cron.daily/logrotate для получения дополнительной информации о работе cron.

Вы также можете настроить задание cron для logrotate для работы почасово, еженедельно и ежегодно.

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40