Налаштування Logrotate вDebian
Дмитро Корнев
Якщо веб-сервер використовується активно, різні логи швидко ростуть. І якщо зовсім пустити це на самоті, то якось вони займуть все вільне місце на диску. Щоб контролювати ситуацію, існує програма Logrotate, яка автоматично архівує логи, видаляє старі логи. Такий процес називається ротацією балки. Програма одразу є в Debian, але її потрібно налаштувати.
Існує відповідна папка /etc/logrotate.d/ , куди різні програми додають налаштування для Logrotate.
Зберегти такий файл можна з будь-яким ім'ям, наприклад, так /etc/logrotate.d/sites . Коли файл створено, то одразу він не активний, логи відповідно до його налаштувань не обробляються.
Наступна команда допомагає переконатися, що файл створено коректно:
В даному випадку обробки не буде! Ви просто отримаєте інформацію про те, які логи файл налаштувань торкнеться і т.д. Якщо якісь параметри написані з помилкою, ви це дізнаєтеся.
А ось ця команда вже безпосередньо запускає ротацію:
Обробка логів відбудеться відразу. А далі відбуватиметься автоматично відповідно до налаштувань файлу.
Якщо Logrotate не працює
Файл, в якому видно останні оброблені логи:
Запустіть ще раз Logortate у режимі налагодження, подивіться, що він каже. Ось приклад проблемної ситуації:
Файли логів існують і ростуть, Logrotate чомусь не бачить їх, повідомляючи, що вони порожні і не потребують обробки. У результаті нічого не відбувається. Чому так? Хз.
Рішення: просто видалити всі логи з цікавих для нас папок, перезапустити Nginx. Почекати поки що в логах щось з'явиться. Ще раз виконати команду налагодження. Цього разу можна бачити, що ротація логів має працювати: