Вопрос или проблема
На моем актуальном 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
могут не работать так, как ожидается, если в системе установлены другие ограничения.
-
Изменение Настроек 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
Это увеличит максимальный размер файла и количество файлов, которые будут храниться.
-
Перезапуск Службы Системных Журналов:
После изменения файла конфигурации вам нужно перезапустить процесс логирования, чтобы изменения вступили в силу. Для этого выполните команду:sudo killall -HUP syslogd
-
Проверка Логов:
После перезагрузки службы проверьте, изменились ли логи:ls -al /var/log/mail.log*
Процесс Ротации Логов
Важно понимать, какой процесс отвечает за ротацию логов. На macOS обычно это делает syslogd
, который следит за путями и атмосферами логирования, определенными в конфигурационных файлах. Ротация происходит автоматически в указанное вами время (23:00), поэтому если ваши параметры не сработали, стоит проверить систему на наличие ограничений, которые могут ограничивать ротацию.
Дополнительные Настройки
Если вышеописанные изменения не дали результата, стоит рассмотреть и другие параметры системы, такие как logadm
, который отвечает за управление размером и количеством логов в macOS. Вы можете быть в состоянии дополнительно сконфигурировать его, если ваша версия macOS это поддерживает.
Проверка Журналов Отладочная Инфо
Если все настройки не дали ожидаемых результатов, возможно, стоит проверить системные журналы и отладочную информацию самого syslogd
. Это может дать представление о том, что происходит с файлами логов и почему они не сохраняются на ожидаемое время.
Заключение
Соблюдая указанные шаги, вы сможете увеличить количество лог-файлов /var/log/mail.log*
до 30 файлов. Не забывайте проверить настройки и убедиться, что изменения вступили в силу. Убедитесь также, что Mac не применяет дополнительные ограничения, такие как лимиты на хранилище. Если у вас возникнут дополнительные вопросы, сообщите, и я буду рад помочь вам выбрать лучшие решения для управления логами на вашем Mac.