Является ли Logrotate тайник где - то на OSX, или есть эквивалент? Это не в /usr/sbin
.
Является ли Logrotate тайник где - то на OSX, или есть эквивалент? Это не в /usr/sbin
.
Ответы:
Основываясь на ответе Брайана Армстронга, вот кое-что с небольшим объяснением и исправлением. Это обрабатывает журнал, созданный 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
OS X имеет несколько способов повернуть / истечь / и т.д. его журналы, в зависимости от типа рассматриваемого журнала:
logrotate
. Он настраивается /etc/newsyslog.conf
и /etc/newsyslog.d/*
( как правило, вы должны добавить файлы /etc/newsyslog.d/
добавить журналы в список управления)./var/log/asl/
. Я пока не совсем понимаю эту систему, но, похоже, эта база данных очищена с помощью aslmanager , который настраивается с помощью /etc/asl.conf
./Library/Logs/CrashReporter/
), файлы удаляются /etc/periodic/daily/100.clean-logs
. Его политики (какие каталоги нужно сканировать и как долго оставлять файлы) настроены /etc/defaults/periodic.conf
, но если вы хотите переопределить / изменить их, вы должны создать /etc/periodic.conf.local
и поместить свои настройки там.Если то, что вы хотите повернуть, не подходит ни к одной из этих моделей, вы можете добавить свои собственные сценарии /etc/periodic/daily/
(которые будут запускаться каждое утро в 3:15), /etc/periodic/weekly/
(каждое утро субботы в 3:15) или /etc/periodic/monthly/
(сначала каждый месяц в 5:30 утра).
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
Вы можете получить 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
Один из способов сделать это:
http://blog.cantremember.com/logrotate-mac-os-launch-daemon-with-legacy-macport/