Введите имя домена:
.ua .com.ua .in.ua .org.ua
.ru .com .net .org
Показать все домены

Управление лог-файлами при помощи logrotate

Ответы на вопросы от компании «Украинский хостинг».

Управление логами с помощью Logrotate на Ubuntu

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

Рекомендуется создать не root пользователя с доступом к sudo.

В инструкции используется текстовый редактор nano, для установки которого требуется выполнить команду:

yum install nano

Процедура управленя логами с помощью Logrotate на Ubuntu выглядит следующим образом:

  1. Проверяем установлен ли logrotate:

    logrotate —version
  2. В данном случае установлен logrotate версии 3.8.6.

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

    sudo yum install logrotate

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

    Для примера возможно открыть файл конфигурации для ротации логов веб-сервера Apache, имеющим название httpd:

    sudo nano /etc/logrotate.d/httpd

    и привести его содержимое к следующему виду:

    /var/www/*.log {
        weekly
        compress
        delaycompress
        notifempty
        missingok
        rotate 5
        create 644 root root
        postrotate
            service httpd restart > /dev/null
        endscript
    }

    Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter.

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

    weekly - регулярность ротации, в данном случае раз в неделю.
    compress - сжатие копии лога.
    delaycompress - сжатие последней копии только при следующей ротации.
    notifempty - не производить ротацию лога, если он пуст.
    missingok - не проверять наличие лога.
    rotate 5 - количество сохраняемых копий.
    create 644 root root - создание нового пустого лога сразу после ротации старого.
    postrotate/endscript - действие, выполняемое после ротации логов, в данном случае перезагрузка httpd сервера.
  3. Проверяем корректность файла конфигурации:

    logrotate -d /etc/logrotate.d/httpd
  4. Запускаем ротацию логов:

    sudo logrotate -v -f /etc/logrotate.d/httpd

См.также: