2010-05-14 6 views
8

मुझे पता चला है कि मेरा access_log मेरे अधिकांश एचडीडी पर कब्जा कर रहा है। यह आकार में 200 जीबी से अधिक है। मैं इसे कैसे रीसेट कर सकता हूं ?access_log विशाल है, संग्रहीत नहीं किया जा रहा है। इसे रीसेट कैसे करें?

मैं प्लैस्क के साथ एक सेंटोस सर्वर पर अपाचे 2.2.3 का उपयोग कर रहा हूं।

धन्यवाद दोस्तों!

उत्तर

0

में अलग फ़ाइल नाम के लिए फ़ाइल logrotate डेमॉन का नाम बदलें और नाम access_log साथ नई फ़ाइल बनाना और अपाचे पुनः आरंभ (अन्यथा अपाचे फ़ाइल पर ताला रहता है और नहीं फ़ाइल परिवर्तन "देख" है)

+0

मैं इस कोशिश की है। अपाचे बड़ी फाइल पर लिखता रहता है जिसमें एक नया नाम है। – Liam

2

उपयोग अपने लॉग का साफ रखरखाव करने के लिए, विशेष रूप से, अपाचे संबंधित लॉग।

logrotate के बारे में एक संक्षिप्त जानकारी: http://www.scriptinstallation.in/logrotate.html

0

, फ़ाइल का नाम बदलें एक नया access_log बनानी होगी, फिर अपाचे पुनरारंभ करें।

5

आप सर्वर से SSH द्वारा उपयोग किया है, तो आप कर सकते हैं:

1) पुरानी फाइल (पाठ फ़ाइलें संपीड़न अनुपात वास्तव में अच्छा कर रहे हैं) gzip। वर्तमान फ़ाइल

echo > /var/log/apache/access.log

3) पुनः प्रारंभ अपाचे

gzip -c /var/log/apache/access.log > /var/log/apache/access.log.gz

2) स्पष्ट: अगर हम यह मान फ़ाइल /var/log/apache/access.log नाम पर है तो ऐसा करने

साथ ही डीज़ ने उत्पादन ग्रेड अपाचे लॉग संग्रह के लिए लॉग्रोटेट का उपयोग करने पर विचार करने का सुझाव दिया है।

14

knx'answer अच्छा है, लेकिन मैं लॉग का नाम बदलने और एक नया निर्माण करने का सुझाव दूंगा, ताकि आप एक्सेस लॉग को संकुचित करने के इंतजार किए बिना अपाचे को पुनरारंभ कर सकें, जो थोड़ी देर लग सकती है।

जरूरतों ssh का उपयोग करने

पहले, वर्तमान लॉग फ़ाइल का नाम बदलें:

mv /var/log/apache/access.log /var/log/apache/access.log.1 

दूसरा, एक नया लॉग फ़ाइल बना सकते हैं और मूल रूप में एक ही अनुमति, स्वामी/समूह और SELinux संदर्भ देने के :

touch /var/log/apache/access.log 
chown --reference=/var/log/apache/access.log.1 /var/log/apache/access.log 
chmod --reference=/var/log/apache/access.log.1 /var/log/apache/access.log 
restorecon --reference=/var/log/apache/access.log.1 /var/log/apache/access.log 

(शायद जड़ होने के लिए कि क्या करने की जरूरत)

इसके बाद, apache

फिर पुरानी फ़ाइल (टेक्स्ट फ़ाइलें संपीड़न अनुपात वास्तव में अच्छा है) को पुनरारंभ करें। अगर हम यह मान फ़ाइल /var/log/apache/access.log नाम पर है तो ऐसा करते हैं:

gzip -c /var/log/apache/access.log.1 > /var/log/apache/access.log.1.gz 

इन 4 अंक क्या स्वचालित रूप से ऐसा logrotate हैं।

+0

आपको अनुमतियों के साथ खेलने की आवश्यकता नहीं है, बस फ़ाइल कॉपी करें और पुरानी फ़ाइल खाली करें। "cp access.log access.log.1 &&> access.log" – CoolArts

+0

@ 200 जीबी लॉग फाइलों की प्रतिलिपि बनाने के लिए कूलआर्ट्स समय लेता है और इसके लिए एक अतिरिक्त 200 जीबी की आवश्यकता होती है (प्रश्न से) और यह भी समस्या को छोड़ देता है कि अपाचे को लिखना जारी रहता है फ़ाइल की प्रतिलिपि बनाते समय लॉग फ़ाइल करें, और खाली, डेटा की संभावित हानि। – Thomas

+0

हम नीचे दिए गए कुछ उत्तरों में एक नई एक्सेस फ़ाइल को क्यों हटा और स्पर्श नहीं कर सकते हैं? – VisWebsoft

1

Ubuntu पर तो कार्य करें:

sudo su 
cd /var/log/apache2 
rm access.log 
rm error.log 
touch access.log 

जब कि पहुँच बनाने के लिए लॉग इन यह जादुई भी त्रुटि लॉग शुरू होता है।

0

मुझे पता है कि यह पोस्ट पुरानी है, लेकिन मुझे बस एक ही समस्या थी और कोई जवाब सही ढंग से कवर नहीं करता था।

बिंदु यह है कि अपाचे इस फ़ाइल को access_log के रूप में बनाता है, इसकी कॉन्फ़िगरेशन के अनुसार। हालांकि, logrotate केवल *.log के लिए देखता है, इसलिए नाम खोज पैटर्न से मेल नहीं खाता है।

समाधान: या तो आप *_log कॉन्फ़िगरेशन लॉगऑरेट करने के लिए जोड़ते हैं, या access.log नामक लॉग फ़ाइल बनाने के लिए अपाचे कॉन्फ़िगरेशन को बदलते हैं। अपाचे कॉन्फ़िगरेशन बदलने के लिए अपाचे रीलोड की आवश्यकता होती है।

0

access_log अक्षम करने के लिए एक आसान समाधान है, कॉन्फ़िगरेशन फ़ाइल पर केवल एक पंक्ति पर टिप्पणी करते हुए।

स्रोत: https://www.mydigitallife.info/how-to-disable-and-turn-off-apache-httpd-access-and-error-log/

Plesk उपयोगकर्ताओं के लिए: https://stackoverflow.com/a/41000240/1792240

संबंधित मुद्दे