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.