Вопрос: Эквивалент logrotate на OSX


Является Logrotate скрываться где-то на OSX, или есть эквивалент? Это не в /usr/sbin,


49
2018-01-24 00:37


Источник


Почему нисходящий? - Steve Bennett
Я не знаю, почему у вас получился нисходящий союз, поэтому я поддержал его. Я думаю, что это хороший вопрос. - Tom O'Connor
Я замечаю, что есть newsyslog, но это не совсем то же самое и требует root. - Steve Bennett
Интересно. - Tom O'Connor
check / etc / period, я считаю, что вращение журнала по умолчанию реализовано как набор сценариев оболочки. Также посмотрите на newsyslog (/etc/newsyslog.d и man-страницу) для способа сделать это на основе размера файла. - malcolmpdx


Ответы:


Основываясь на ответе Брайана Армстронга, вот что-то с немного большим объяснением и исправлением. Это обрабатывает журнал, созданный 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-compress архивов. Он будет уведомлять процесс 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


18
2017-11-16 18:37





OS X имеет несколько способов повернуть / expire / etc свои журналы, в зависимости от типа журнала:

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

Если то, что вы хотите повернуть, не подходит ни к одной из этих моделей, вы можете добавить свои собственные сценарии в / etc / периодические / ежедневные / (которые будут запускаться каждое утро в 3:15), / etc / периодические / еженедельные / (каждое субботнее утро в 3:15), или / etc / периодические / ежемесячные / (сначала каждый месяц в 5:30).


19
2018-01-24 06:14





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

# logfilename                           [owner:group]   mode count size     when  flags [/pid_file] [sig_num]
/Users/barmstrong/code/**/log/*.log                     666  0     5242880  *     G

10
2018-02-12 04:41



размер находится в K, а для владельца требуется «:», даже если они пусты - Bryan Ash


Вы можете получить logrotate через Homebrew. Вот мои заметки об этом.

устанавливать

brew install logrotate

Настроить вращение журнала

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

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

sudo vi /usr/local/etc/logrotate.d/tend.conf

Содержание: /var/log/tend_*.log { daily copytruncate rotate 3 size 10M compress }

Проверьте это

sudo logrotate -v -f /usr/local/etc/logrotate.d

Начать сервис

sudo brew services start logrotate

Перезапуск службы

sudo brew services restart logrotate


6
2017-08-15 21:18





Один из способов сделать это:

http://blog.cantremember.com/logrotate-mac-os-launch-daemon-with-legacy-macport/


0
2018-01-24 12:44