access_log ist riesig und wird nicht archiviert. wie man es zurücksetzt?

8

Ich habe festgestellt, dass mein access_log den größten Teil meiner Festplatte belegt. Es ist über 200 GB groß. Wie kann ich es zurücksetzen?

Ich verwende Apache 2.2.3 auf einem CentOS-Server mit Plesk.

Danke Leute!

    
user290367 14.05.2010, 08:21
quelle

8 Antworten

14

knx'answer ist gut, aber ich würde vorschlagen, das Protokoll umzubenennen und ein neues zu erstellen, so dass Sie Apache neu starten können, ohne auf die Komprimierung des Zugriffsprotokolls zu warten, was bei großer Größe eine Weile dauern kann / p>

benötigt Zugriff auf ssh

Benennen Sie zuerst die aktuelle Protokolldatei um:

%Vor%

Zweitens, erstellen Sie eine neue Protokolldatei und geben Sie die gleichen Berechtigungen, Eigentümer / Gruppe und selinux-Kontext wie der ursprüngliche:

%Vor%

(wahrscheinlich muss root sein, um das zu tun)

Starten Sie als nächstes apache

Dann Gzip die alte Datei (Textdateien Kompressionsraten sind wirklich gut). Wenn wir annehmen, dass die Datei den Namen /var/log/apache/access.log hat, dann tun Sie dies:

%Vor%

Diese 4 Punkte machen Logrotate automatisch.

    
Thomas 11.03.2011 17:49
quelle
6

Wenn Sie über SSH Zugriff auf den Server haben, können Sie:

1) Gzip die alte Datei (Textdateien Kompressionsraten sind wirklich gut). Wenn wir annehmen, dass die Datei den Namen /var/log/apache/access.log hat, dann tun Sie dies:

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

2) Löschen Sie die aktuelle Datei

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

3) Starten Sie Apache neu

Wie Dez bereits vorgeschlagen hat, sollten Sie die Verwendung von logrotate für die Archivierung von Apache-Archiven in Produktionsqualität in Betracht ziehen.

    
knx 06.09.2010 05:00
quelle
2

Verwenden Sie den Logrotate-Daemon, um eine saubere Wartung Ihrer Protokolle, insbesondere der Apache-bezogenen Protokolle, zu erhalten.

Eine kurze Information über logrotate: Ссылка

    
Dez 14.05.2010 08:42
quelle
1

Wenn unter Ubuntu:

%Vor%

Beim Erstellen dieses Zugriffsprotokolls wird das Fehlerprotokoll auf magische Weise gestartet.

    
malhal 21.10.2012 06:25
quelle
1

Ich weiß, dass dieser Beitrag alt ist, aber ich hatte gerade das gleiche Problem und keine Antwort deckt es richtig ab.

Der Punkt ist der Apache erstellt die Datei als access_log , je nach seiner Konfiguration. Logrotate sucht jedoch nur nach *.log , daher stimmt der Name nicht mit dem Suchmuster überein.

Lösungen: Entweder fügen Sie *_log zur logrotate-Konfiguration hinzu oder ändern die Apache-Konfiguration, um die Protokolldatei namens access.log zu erstellen. Ändern der Apache-Konfiguration erfordert Apache neu laden.

    
rexkogitans 27.01.2016 08:17
quelle
0

Benennen Sie die Datei um, erstellen Sie ein neues access_log und starten Sie Apache neu.

    
Liam 13.08.2010 10:02
quelle
0

Benenne die Datei in einen anderen Dateinamen um und erstelle eine neue Datei mit dem Namen access_log und starte Apache neu (ansonsten behält Apache die Sperre für die Datei und "sieht" nicht die Dateiänderung)

    
YOU 14.05.2010 08:27
quelle
0

Eine einfache Lösung besteht darin, access_log zu deaktivieren, indem Sie nur eine Zeile in der Konfigurationsdatei kommentieren.

Quelle: Ссылка

Für Plesk-Benutzer: Ссылка

    
Davide Palmieri 06.12.2016 16:45
quelle

Tags und Links