Logrotate це утиліта, що спеціально призначена для легкого керування великою кількістю лог-файлів. Вона вміє автоматично обертати, архівувати, видаляти та відправляти лог-файли поштою. Кожен файл журналу може оброблятися щодня, щотижня, щомісяця або коли він стає занадто великим.
Зазвичай Logrotate запускається як щоденне крон-завдання. За замовчуванням logrotate не має файлу конфігурації для Asterisk. Тут я пропоную приклад такого файлу конфігурації, але ви можете налаштувати його в залежності від потреб.
Відкрийте файл /etc/logrotate.d/asterisk вашим улюбленим текстовим редактором:
1 2 |
touch /etc/logrotate.d/asterisk vi /etc/logrotate.d/asterisk |
та вставте наступне:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/var/log/asterisk/queue_log { daily missingok # зберігати логи за 7 днів rotate 7 notifempty sharedscripts create 0640 asterisk asterisk } /var/spool/mail/asterisk /var/log/asterisk/messages /var/log/asterisk/*_log /var/log/asterisk/full /var/log/asterisk/dtmf { daily missingok rotate 7 #архівувати файли для збереження місця compress notifempty sharedscripts create 0640 asterisk asterisk postrotate /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null endscript } /var/log/asterisk/cdr-csv/*csv { missingok rotate 5 monthly create 0640 asterisk asterisk } |
Тепер перевіримо, чи це працює:
1 |
/usr/sbin/logrotate /etc/logrotate.conf |
Тепер переходимо до каталогу /var/log/asterisk і перевіряємо, що лог-файли було впорядковано.
Запустіть
1 |
man logrotate |
щоб отримати детальну довідку щодо директив конфігураційного файлу logrotate.