सवाल ओएसएक्स पर लॉग्रोटेट के बराबर


है logrotate ओएसएक्स पर कहीं छिपाना, या समकक्ष है? यह अंदर नहीं है /usr/sbin


49
2018-01-24 00:37


मूल


डाउनवोट क्यों? - Steve Bennett
मुझे पता नहीं था कि आपको एक डाउनवोट क्यों मिला, इसलिए मैंने इसे ऊपर उठाया। मुझे लगता है कि यह एक अच्छा सवाल है। - Tom O'Connor
मुझे लगता है कि न्यूज़िज़ल है, लेकिन यह काफी समान नहीं है और रूट की आवश्यकता है। - Steve Bennett
लॉगरोटेट पोर्ट किया जा सकता है, मुझे आश्चर्य है। - Tom O'Connor
चेक / आदि / आवधिक, मेरा मानना ​​है कि लॉग रोटेशन डिफ़ॉल्ट रूप से वहां शेल स्क्रिप्ट के सेट के रूप में लागू किया गया है। फ़ाइल आकार के आधार पर इसे करने के तरीके के लिए newsyslog (/etc/newsyslog.d और मैन पेज) पर भी देखें। - malcolmpdx


जवाब:


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

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

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





लॉग इन के प्रकार के आधार पर ओएस एक्स के पास अपने लॉग घुमाए जाने / समाप्त करने के कई तरीके हैं:

  1. नियमित लॉग फ़ाइलों के लिए (यानी पाठ फ़ाइलें जो लगातार संलग्न होती हैं) newsyslog उन्हें आकार या समय के आधार पर घुमा सकते हैं, हालांकि इसमें लॉग्रोटेट के रूप में कई विकल्प नहीं लगते हैं। यह /etc/newsyslog.conf और /etc/newsyslog.d/* द्वारा कॉन्फ़िगर किया गया है (आमतौर पर, आपको अपनी प्रबंधन सूची में लॉग जोड़ने के लिए /etc/newsyslog.d/ में फ़ाइलों को जोड़ना चाहिए)।
  2. ओएस एक्स की syslog प्रणाली मुख्य रूप से / var / log / asl / में, इस सादे-पाठ प्रारूप से डेटाबेस प्रारूप में माइग्रेट कर रही है। मैं अभी तक इस प्रणाली को पूरी तरह से समझ नहीं पा रहा हूं, लेकिन इस डेटाबेस को शुद्ध किया जाता है aslmanager, जिसे /etc/asl.conf द्वारा कॉन्फ़िगर किया गया है।
  3. अलग-अलग फ़ाइलों (मुख्य रूप से / लाइब्रेरी / लॉग / क्रैश रिपोर्टर /) के रूप में जोड़े गए व्यक्तिगत लॉग "प्रविष्टियों" वाले निर्देशिकाओं के लिए, फ़ाइलों को /etc/periodic/daily/100.clean-logs द्वारा शुद्ध किया जाता है। इसकी नीतियां (कौन सी निर्देशिका स्कैन करने और फ़ाइलों को छोड़ने में कितनी देर तक) /etc/defaults/periodic.conf में कॉन्फ़िगर की गई हैं, लेकिन यदि आप उन्हें ओवरराइड / बदलना चाहते हैं तो आपको /etc/periodic.conf.local बनाना चाहिए और अपनी अनुकूलन डालना चाहिए क्या आप वहां मौजूद हैं।

यदि आप घूमना चाहते हैं तो इनमें से किसी भी मॉडल में फिट नहीं है, आप अपनी स्क्रिप्ट / etc / periodic / daily / (जो हर सुबह 3:15 बजे चलेंगे), / etc / periodic / साप्ताहिक / (प्रत्येक शनिवार सुबह 3:15 बजे), या / etc / आवधिक / मासिक / (हर महीने पहले 5:30 बजे)।


19
2018-01-24 06:14





newsyslog ओएसएक्स पर स्वचालित रूप से चलता है, मैं इस तरह एक कॉन्फ़िगरेशन फ़ाइल का उपयोग करता हूं /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



आकार के में है, और मालिक के लिए एक ":" आवश्यक है: समूह भले ही वे खाली हों - Bryan Ash


आप होमब्रू के माध्यम से लॉग्रोटेट प्राप्त कर सकते हैं। इसे स्थापित करने से मेरे नोट यहां दिए गए हैं।

इंस्टॉल करें

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


7
2017-08-15 21:18





ऐसा करने का एक तरीका:

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


0
2018-01-24 12:44