Как увеличить количество лог-файлов: /var/log/mail.log* на macOS?

Вопрос или проблема

На моем актуальном macOS каждый день в /var/log есть 7 обычных файлов с именем mail.log*, которые вращаются в 23:00:

### 18:20       milky-way:/etc/asl      # ls -al /var/log/mail.log*
-rw-r-----@ 1 root  admin  333712 3 дек  18:17 /var/log/mail.log
-rw-r-----  1 root  admin   44272 2 дек  23:00 /var/log/mail.log.0.gz
-rw-r-----  1 root  admin   40376 1 дек  23:00 /var/log/mail.log.1.gz
-rw-r-----  1 root  admin   37274 30 ноя 23:00 /var/log/mail.log.2.gz
-rw-r-----  1 root  admin   46093 29 ноя 23:00 /var/log/mail.log.3.gz
-rw-r-----  1 root  admin   52495 28 ноя 23:00 /var/log/mail.log.4.gz
-rw-r-----  1 root  admin   53763 27 ноя 23:00 /var/log/mail.log.5.gz
-rw-r--r--  1 root  admin   54454 26 ноя 23:00 /var/log/mail.log.6.gz
### 18:20       milky-way:/etc/asl      #

Я хотел бы получить набор из одного полного месяца этих обычных файлов syslog, т.е. 30.

Я знаю, что эти файлы генерируются из базы данных ASL, и я пытался изменить файл, чтобы установить значения store_ttl и ttl на 30.

### 18:24       milky-way:/etc/asl      # cat /etc/asl/com.apple.mail
# почтовое устройство имеет свой собственный файл журнала
? [= Facility mail] claim only
> /var/log/mail.log mode=0640 format=bsd rotate=seq compress store_ttl=30 ttl=30 file_max=5M all_max=50M
* файл /var/log/mail.log
### 18:24       milky-way:/etc/asl      #

А затем я убил syslogd с помощью HUP, чтобы заставить его перезагрузить конфигурацию модулей ASL.

Но я продолжаю иметь только 7 /var/log/mail.log*.

Какой процесс выполняет ротацию этих /var/log/mail.log*?

Как настроить этот процесс?

Чтобы получить полный месяц (30) из них?

Ответ или решение

Для того чтобы увеличить количество лог-файлов /var/log/mail.log* на macOS и обеспечить их хранение в течение одного месяца, необходимо разобраться в механизме ротации логов и настроить его соответствующим образом. Рассмотрим детали этой задачи.

Понимание Часового Поиска Логов и Ротации

На macOS логи, в том числе /var/log/mail.log, управляются системой ротации логов. Ваша цель — изменить конфигурацию ротации, чтобы она сохраняла логи в течение 30 дней.

Настройка Rotaционного Конфигурационного Файла

Вы правильно выполнили первую задачу, изменив параметры в файле /etc/asl/com.apple.mail. Однако стоит учесть, что параметры store_ttl и ttl могут не работать так, как ожидается, если в системе установлены другие ограничения.

  1. Изменение Настроек Rotaции:
    Настройте файл /etc/asl/com.apple.mail, убедившись, что вы добавили параметры правильно. Ваши настройки выглядят корректными, но для решения проблемы можно попробовать изменить значения all_max и file_max. Например:

    > /var/log/mail.log mode=0640 format=bsd rotate=seq compress store_ttl=30 ttl=30 file_max=10M all_max=100M

    Это увеличит максимальный размер файла и количество файлов, которые будут храниться.

  2. Перезапуск Службы Системных Журналов:
    После изменения файла конфигурации вам нужно перезапустить процесс логирования, чтобы изменения вступили в силу. Для этого выполните команду:

    sudo killall -HUP syslogd
  3. Проверка Логов:
    После перезагрузки службы проверьте, изменились ли логи:

    ls -al /var/log/mail.log*

Процесс Ротации Логов

Важно понимать, какой процесс отвечает за ротацию логов. На macOS обычно это делает syslogd, который следит за путями и атмосферами логирования, определенными в конфигурационных файлах. Ротация происходит автоматически в указанное вами время (23:00), поэтому если ваши параметры не сработали, стоит проверить систему на наличие ограничений, которые могут ограничивать ротацию.

Дополнительные Настройки

Если вышеописанные изменения не дали результата, стоит рассмотреть и другие параметры системы, такие как logadm, который отвечает за управление размером и количеством логов в macOS. Вы можете быть в состоянии дополнительно сконфигурировать его, если ваша версия macOS это поддерживает.

Проверка Журналов Отладочная Инфо

Если все настройки не дали ожидаемых результатов, возможно, стоит проверить системные журналы и отладочную информацию самого syslogd. Это может дать представление о том, что происходит с файлами логов и почему они не сохраняются на ожидаемое время.

Заключение

Соблюдая указанные шаги, вы сможете увеличить количество лог-файлов /var/log/mail.log* до 30 файлов. Не забывайте проверить настройки и убедиться, что изменения вступили в силу. Убедитесь также, что Mac не применяет дополнительные ограничения, такие как лимиты на хранилище. Если у вас возникнут дополнительные вопросы, сообщите, и я буду рад помочь вам выбрать лучшие решения для управления логами на вашем Mac.

Оцените материал
Добавить комментарий

Капча загружается...