2017-01-08 12 views
0

как настроить на 31 день месяца. в настоящее время я могу делать 30 дней.как настроить логротацию в течение 31-го месяца или 28/29-го дня feb

/var/log/myLogs/* { 
    daily 
    missingok 
    rotate 30 
    olddir /prar/oney_logs/tomcat_m_logs/archive 
    compress 
    copytruncate 
    postrotate 
      ls /prar/oney_logs/tomcat_m_logs/GC_web_*.log |grep -v `date --date 'today' +%y%m%d`| xargs rm -f 
                  find /prar/oney_logs/tomcat_m_logs/archive/GC_web_*.log* -mtime +30 -exec rm {} \; 
    endscript 
} 

ответ

0

Это не так просто с логротатом. Вы можете установить rotate 31, чтобы сохранить максимальное количество дней в месяц. Затем добавьте задание cron monthly, чтобы архивировать файлы в месяц. Установив 31 как количество журналов, вы уверены, что у вас есть как минимум месяцы файлов. Если у месяца меньше 31 дня, у вас будет 1 или более ежедневных журналов за последний месяц.

В противном случае вы можете: a) Обработать скриптом postrotate, чтобы переименовывать/перемещать файлы для maonths менее чем за 31 день; b) Создайте скрипт crontab для изменения файла конфигурации logrotate каждый месяц; c) Создайте файл конфигурации для каждого месяца и установите 12 записей в crontab, как описано здесь: Logrotate - daily log files for a month; d) использовать некоторые различные утилиты/программы, чем logrotate

+0

спасибо за поддержку! это сработало :) – user190549

 Смежные вопросы

  • Нет связанных вопросов^_^