Logfile Rotation für Phusion Passenger

Jochen Kächelin, 26. Februar 2009 00:30

Jeder von uns kennt das Problem mit grossen Logfiles, die unter Umständen den ganzen Festplattenplatz für sich beanspruchen. Wenn das System läuft vergisst man sehr schnell  die Logiles regelmäßig unter die Lupe zu nehmen. Besonders schnell wachsen hierbei Logfiles von Web- oder Mailservern an, welche sich jedoch meist mit einfachen Bordmitteln problemlos in den Griff bekommen lassen.

Den originalen Artikel von Jesse Andrews finden Sie hier.

Wir gehen bei unserem Beispiel davon aus, dass die Railsapplikation mit Capistrano an folgende Position auf dem Webserver gespielt wird:

set :deploy_to, "/home/deploy/app"

Capistrano erzeugt dann automatisch folgende Verzeichnisse:

/home/deploy/app/shared/log  &  /home/deploy/app/current/tmp

Das tmp-Verzeichnis hat für Phusion Passenger eine besondere Bedeutung welche wir uns in unserer logrotate-Konfiguration zu Nutze machen:

vi /etc/logrotate.d/passenger
1
2
3
4
5
6
7
8
9
10
11
/home/deploy/app/shared/log/*.log {
    daily 
    missingok
    rotate 30
    compress
    delaycompress
    sharedscripts
    postrotate
        touch /home/deploy/app/current/tmp/restart.txt
    endscript
}

daily:
Das Logfile wird jeden Tag neu erstellt
missingok:
Keine Fehler bei einem nicht vorhandenen Logfile
rotate 30:
Logfiles rotieren nach 30 Tagen
compress:
Logfiles werden in .tar.gz umgewandelt, spart teilweise bis zu 90% Plattenplatz
delaycompress:
Das Vortages Logfile komprimieren, so dass Passenger noch ins aktuelle Logfile schreiben kann
postrotate/endscript:
Mit dem touch Kommando wird eine restart.txt erstellt welche dann Passenger dazu veranlasst neu zu starten
sharedscripts:
postrotate nur einmal ausführen, nicht für alle Logfiles im /home/deploy/app/shared/log

Manuell kann man mit folgendem Kommando das Rotieren der Logfiles testen:

logrotate -f /etc/logrotate.d/passenger

Hiermit wird dann ein .1 Logfile für alle Logfiles im /home/deploy/app/shared/log Verzeichnis erstellt und Passenger startet neu.

Bookmark and Share

Schlagworte: ,

Autor: Jochen Kächelin, http://www.gissmog.de

Jochen Kächelin ist momentan als System Administrator eines Logistikunternehmens und Online-Shop Betreibers tätig und hauptsächlich mit der Entwicklung eines Rails basierenden Online-Shops beschäftigt. Zuvor war er an der Enwicklung einer auf Linux basierenden Firewall beteiligt und für die Wartung von 30 Webservern und ca. 800 Domains verantwortlich.

Artikel bewerten:

1 Sterne2 Sterne3 Sterne4 Sterne5 Sterne (5 Bewertung(en), durchschnittlich: 4.40 (max. 5)
Loading ... Loading ...

Comments are closed.