OSX पर लॉगोटेट के बराबर


52

क्या OSrot पर कहीं छिपा हुआ है, या वहाँ एक बराबर है? यह अंदर नहीं है /usr/sbin


मुझे लगता है कि वहाँ newsyslog है, लेकिन यह काफी समान नहीं है और रूट की आवश्यकता है।
स्टीव बेनेट

Logrotate चित्रित किया जा सकता है, मुझे आश्चर्य है।
टॉम ओ'कॉनर

चेक / आदि / आवधिक, मेरा मानना ​​है कि लॉग रोटेशन डिफ़ॉल्ट रूप से शेल स्क्रिप्ट के सेट के रूप में लागू किया जाता है। फ़ाइल आकार के आधार पर इसे करने के तरीके के लिए newsyslog (/etc/newsyslog.d और मैन पेज) को भी देखें।
malcolmpdx

युक्तियों के लिए धन्यवाद -
स्टीव बेनेट

@SteveBennett लोग अपने "क्रिटिक" बैज को कैसे प्राप्त करेंगे? कुछ लोग केवल बैज और प्रतिष्ठा के लिए यहां हैं, आपको नहीं पता था।
मार्क फिशर

जवाबों:


23

ब्रायन आर्मस्ट्रांग के जवाब के आधार पर, यहां कुछ अधिक स्पष्टीकरण और सुधार के साथ कुछ है। यह होमब्रे द्वारा स्थापित OSX पर पोस्टग्रेज द्वारा निर्मित लॉग को संभालता है। यहां स्थित है /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-अभिलेखागार को संपीड़ित करें। यह घुमाए जाने के बाद लॉग फ़ाइलों को फिर से खोलने के लिए पोस्टग्रेज प्रक्रिया को सूचित करेगा, जो नई लॉग प्रविष्टियों को प्राप्त करने और मशीन को पुनः आरंभ किए बिना डिस्क स्थान को मुक्त करने के लिए आवश्यक है।

यह ध्यान रखना महत्वपूर्ण है कि आकार KB में है, बाइट्स में नहीं।

आप का उपयोग करके विन्यास फाइल (किसी भी फाइल को प्रभावित किए बिना) का परीक्षण कर सकते हैं 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


21

OS X के पास इसके लॉग को घुमाने / समाप्त करने आदि के लिए कई तरीके हैं, जो प्रश्न में लॉग के प्रकार पर निर्भर करता है:

  1. नियमित लॉग फाइल (यानी टेक्स्ट फाइलें जो लगातार अपग्रेड की जाती हैं ) के लिए, न्यूजस्प्लॉग उन्हें आकार या समय के आधार पर घुमा सकता है, हालांकि ऐसा लगता नहीं है कि जितने विकल्प हैं logrotate। यह द्वारा कॉन्फ़िगर किया गया है /etc/newsyslog.confऔर /etc/newsyslog.d/*(आम तौर पर, आपको /etc/newsyslog.d/इसकी प्रबंधन सूची में लॉग जोड़ने के लिए फ़ाइलों को जोड़ना चाहिए )।
  2. OS X का syslog सिस्टम मुख्य रूप से इस सादे-पाठ प्रारूप से डेटाबेस प्रारूप में माइग्रेट कर रहा है /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/periodic/daily/(जो हर सुबह 3:15 बजे चलेगी), /etc/periodic/weekly/(प्रत्येक शनिवार सुबह 3:15 बजे), या /etc/periodic/monthly/(पहले हर महीने सुबह 5:30 बजे)।


11

newsyslogOSX पर स्वचालित रूप से चलता है, मैं /etc/newsyslog.d/rails_apps.confअपने देव लॉग फ़ाइलों को 5MB तक छंटनी रखने के लिए इस तरह की एक कॉन्फ़िगर फ़ाइल का उपयोग करता हूं

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

आकार K में है, और स्वामी के लिए एक ":" आवश्यक है: समूह भले ही वे खाली हों
ब्रायन ऐश

9

आप Homebrew के माध्यम से प्रवेश कर सकते हैं। इसे सेट करने से मेरे नोट्स यहां दिए गए हैं।

इंस्टॉल करें I

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


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.