Введіть ім'я домену:
.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

Див. також:

Будь ласка, виберіть мову сайту за промовчанням: