Эквивалентный из logrotate на OSX

Отвеченный в других вопросах, но коротком ответе то, что то, что Вы хотите для используемой памяти, является следующим числом от вывода команды free:

-/+ buffers/cache: 557896

52
задан 11 February 2016 в 04:41
5 ответов

Основываясь на ответе Брайана Армстронга, вот что-то с небольшим дополнительным объяснением и исправлением. Это обрабатывает журнал, созданный postgres на OSX, установленной Homebrew. Расположен по адресу /etc/newsyslog.d/postgresql.conf :

# logfilename                           [owner:group]      mode count size(KB)  when  flags [/pid_file]                            [sig_num]
/usr/local/var/postgres/postgresql.log  :                  600  2     2048      *     J     /usr/local/var/postgres/postmaster.pid 

Это приведет к ротации файла журнала, когда он достигнет размера 2 МБ, сохранит 2 архива (всего используется хранилище 6 МБ) и bzip2 -сжать архивы. Он уведомит процесс postgres о необходимости повторного открытия файлов журнала после ротации, что необходимо для получения новых записей журнала и фактического освобождения дискового пространства без перезапуска компьютера.

Важно отметить, что размер указывается в КБ, а не в байтах.

Вы можете протестировать конфигурационный файл (не затрагивая никакие файлы) с помощью sudo newsyslog -nvv .

документация newsyslog находится здесь: http://www.freebsd.org/cgi/ man.cgi? newsyslog.conf (5) . Также используется: http://www.redelijkheid.com/blog/2011/3/28/adding-custom-logfile-to-os-x-server-log-rotation.html

24
ответ дан 28 November 2019 в 19:36
0
ответ дан 28 November 2019 в 19:36

OS X имеет несколько способов ротации / истечения срока действия / и т. Д. Своих журналов, в зависимости от типа журнала, о котором идет речь:

  1. Для обычных файлов журнала (т. Е. Текстовых файлов, которые постоянно добавляются), newsyslog может вращать их в зависимости от размера или времени, хотя, похоже, у него не так много опций, как у logrotate . Он настраивается с помощью /etc/newsyslog.conf и /etc/newsyslog.d / * (обычно файлы следует добавлять в /etc/newsyslog.d/ ] для добавления журналов в свой список управления).
  2. OS X ' s syslog переходит из этого текстового формата в формат базы данных, в основном в / var / log / asl / . Я еще не совсем понимаю эту систему, но эта база данных, похоже, очищена с помощью aslmanager , который настроен с помощью /etc/asl.conf .
  3. Для каталогов, в которых есть отдельные «записи» журнала добавляются как отдельные файлы (в основном / Library / Logs / CrashReporter / ), файлы очищаются с помощью /etc/periodic/daily/100.clean-logs . Его политики (какие каталоги сканировать и как долго оставлять файлы) настроены в /etc/defaults/periodic.conf , но если вы хотите переопределить / изменить их, вы должны создать / etc / period.conf.local и поместите туда свои настройки.

Если то, что вы хотите повернуть, не

21
ответ дан 28 November 2019 в 19:36

newsyslog запускается автоматически в OSX, Я использую такой конфигурационный файл в /etc/newsyslog.d/rails_apps.conf , чтобы мои файлы журнала разработки были обрезаны до 5 МБ

# logfilename                           [owner:group]   mode count size     when  flags [/pid_file] [sig_num]
/Users/barmstrong/code/**/log/*.log                     666  0     5242880  *     G
11
ответ дан 28 November 2019 в 19:36

Вы можете получить logrotate через Homebrew. Вот мои примечания по настройке.

Установить

brew install logrotate

Настроить ротацию журналов

Файлы конфигурации ротации журналов находятся в /usr/local/etc/logrotate.d/

Редактировать файл конфигурации. Например. Я хотел повернуть некоторые файлы «/var/log/tend_*.log», которые я представил:

sudo vi /usr/local/etc/logrotate.d/tend.conf[126ghtContents: /var/log/tend_*.log { ежедневно копировать повернуть 3 размер 10M компресс }

Протестируйте

sudo logrotate -v -f /usr/local/etc/logrotate.d[129 visibleStart service

sudo brew services start logrotate

Restart service

sudo brew services restart logrotate

9
ответ дан 28 November 2019 в 19:36

Теги

Похожие вопросы