คือlogrotateหลบซ่อนตัวอยู่ที่ไหนสักแห่งใน OSX หรือมีเทียบเท่า? /usr/sbin
มันไม่ได้อยู่ใน
คือlogrotateหลบซ่อนตัวอยู่ที่ไหนสักแห่งใน OSX หรือมีเทียบเท่า? /usr/sbin
มันไม่ได้อยู่ใน
คำตอบ:
จากคำตอบของ Brian Armstrong นี่คือบางสิ่งที่มีคำอธิบายเพิ่มเติมและการแก้ไขเล็กน้อย สิ่งนี้จัดการบันทึกที่สร้างขึ้นโดย 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
สิ่งนี้จะหมุนล็อกไฟล์เมื่อถึงขนาด 2MB เก็บถาวร 2 ไฟล์ (สำหรับที่เก็บข้อมูลทั้งหมด 6MB ที่ใช้) และ bzip2 บีบอัดไฟล์เก็บถาวร จะแจ้งให้ทราบถึงกระบวนการ postgres เพื่อเปิดไฟล์บันทึกอีกครั้งเมื่อหมุนซึ่งจำเป็นต้องรับรายการบันทึกใหม่และเพิ่มพื้นที่ว่างในดิสก์โดยไม่ต้องรีสตาร์ทเครื่อง
สิ่งสำคัญที่ควรทราบคือขนาดเป็น KB ไม่ใช่ไบต์
คุณสามารถทดสอบไฟล์ config (โดยไม่มีผลต่อไฟล์ใด ๆ ) 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 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 ของฉันถูกตัดเหลือ 5MB
# 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