Назад | Перейти на главную страницу

OSX /var/log/system.log - где я могу определить интервал обрезки?

У меня есть сценарий, который периодически проверяет /var/log/system.log, и я заметил в нашей сети, что некоторые машины хранят файлы журнала в течение месяца посредством перезагрузки и других действий, в то время как некоторые очищают файл каждую ночь или при каждой перезагрузке.

Кто-нибудь знает точные правила здесь, или можно ли указать интервалы? Заранее спасибо.

В OS X /var/log/system.log вращается newsyslog команда, которая запускается каждые полчаса (см. /System/Library/LaunchDaemons/com.apple.newsyslog.plist) всякий раз, когда Mac работает и просыпается. Правила ротации находятся в /etc/newsyslog.conf, из которого есть соответствующие строки:

# logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
/var/log/system.log                     640  7     *    @T00  J

Если я правильно понимаю (см. справочная страница newsyslog.conf), «@ T00» в поле «когда» означает, что журнал будет вращаться, если newsyslog запускается между полуночью и 1:00, то есть в 12:30. Но если Mac выключен или находится в спящем режиме в 12:30, этого запуска не произойдет, и журнал не будет обновляться в этот день, вероятно, поэтому вы видите такие переменные результаты.

Если вы хотите изменить критерии ротации, смело редактируйте /etc/newsyslog.conf; большинство других журналов меняются в зависимости от размера, и я не уверен, почему system.log отличается.

ОБНОВЛЕНИЕ: Начиная с версии 10.9, управление ротацией для system.log перемещено из /etc/newsyslog.conf в /etc/asl.conf (конфигурация для средства системного журнала Apple, которое выполняет запись в system.log). В нем будет такой раздел:

# Rules for /var/log/system.log
> system.log mode=0640 format=bsd rotate=seq compress file_max=5M all_max=50M
? [= Sender kernel] file system.log
? [<= Level notice] file system.log
? [= Facility auth] [<= Level info] file system.log
? [= Facility authpriv] [<= Level info] file system.log

Раздел «rotate = seq compress file_max = 5M all_max = 50M» управляет архивированием и хранением. Видеть man asl.conf для получения дополнительной информации и опций.

Система ведения журнала была довольно тщательно переписана в 10.12, но, похоже, это не изменилось.