Чи логротат ховається десь на OSX, чи є еквівалент? Це не в /usr/sbin
.
Чи логротат ховається десь на 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 - стисне архів. Він сповістить про процес постгресів, щоб знову відкрити файли журналу після повернення, що необхідно для отримання нових записів журналу та фактичного звільнення дискового простору без перезавантаження машини.
Важливо зазначити, що розмір - у КБ, а не в байтах.
Ви можете протестувати конфігураційний файл (не впливаючи на жодні файли), використовуючи sudo newsyslog -nvv
.
Документація для новин розміщена тут: 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
щоб зберегти файли журналу розробників до 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/