logrotate

Як організувати обертання (ротацію)  лог-файлів (наприклад для Ubuntu). Наприклад маємо /var/www/path/data.log який треба це робити щотижня та зберігати 10 файлів.

тут коротко, щоб не захаращувати зайвим.

sudo nano /etc/logrotate.d/data.log

текст

/var/www/path/data.log {
weekly
rotate 10
compress
delaycompress
missingok
notifempty
}

  • weekly: обертаємо файл журналу раз на тиждень.
  • rotate 10: зберігати до 10 змінених файлів журналу. Старіші файли буде видалено.
  • compress: стиснути  файли журналу за допомогою gzip.
  • delaycompress:не стискати поточний файл журналу до наступного циклу ротації.
  • missingok: не викликати повідомлення про помилку, якщо файл журналу відсутній.
  • notifempty: не обертати файл журналу, якщо він порожній.

перевірка

sudo logrotate -d /etc/logrotate.d/data.log

якщо нема помилок додаємо до системного розкладу

sudo crontab -e

додати текст

0 0 * * * logrotate /etc/logrotate.d/data.log

 

 

Залишити відповідь