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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
/var/log/asterisk/queue_log { daily missingok # log retention time is 7 days rotate 7 notifempty sharedscripts } #/var/spool/mail/asterisk /var/log/asterisk/messages { daily missingok rotate 90 #compress log files to save disk space compress notifempty sharedscripts postrotate /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null endscript } /var/log/asterisk/security { daily missingok rotate 90 #compress log files to save disk space compress notifempty sharedscripts postrotate /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null endscript } #/var/log/asterisk/*_log /var/log/asterisk/full /var/log/asterisk/dtmf { daily missingok rotate 7 #compress log files to save disk space compress notifempty sharedscripts postrotate /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null endscript } /var/log/asterisk/cdr-csv/*csv { missingok rotate 5 monthly } |
Тепер перевіримо, чи це працює:
1 |
/usr/sbin/logrotate -f /etc/logrotate.conf |
Тепер переходимо до каталогу /var/log/asterisk і перевіряємо, що лог-файли обернулися.
Запустіть:
1 |
man logrotate |
щоб отримати детальну довідку щодо директив конфігураційного файлу logrotate.