Bei vielen Projekten verwende ich Logdateien um evtl. Fehler aufzudecken. Diese versuche ich wenn möglich in das Standartverzeichnis /var/log zu legen. Damit diese Logdateien nicht zu groß werden und das System zumüllen, verwende ich den Dienst Logrotate. Sollte er nicht vorhanden sein, kann er wie folgt nachinstalliert werden:
$ sudo apt-get install logrotate
Ich habe mir angewöhnt nicht die globale Konfiguration /etc/logrotate.conf zu Ändern, sondern eine eigene Konfigurationsdatei für das jeweilige Projekt unter /etc/logrotate.d anzulegen.
$ sudo nano /etc/logrotate.d/ProjektName
Ein Beispiel für eine solche Konfiguration könnte das folgende Script sein.
/var/log/ProjektName/*.log { weekly # wöchentlich rotate 4 # Behalte die letzten vier Wochen compress # Komprimieren delaycompress # Komprimieren nachdem verschieben missingok # Ignorieren falls nicht existiert notifempty # Leere Logdateien werden nicht rotiert }
Weitere Befehle / Optionen können in der Man Page z.B. hier nachgelesen werden.
Um seine Konfiguration zu testen kann man das Skript mit dem Befehl logrotate testen. Der Parameter -d bewirkt eine Ausgabe während -f die Ausführung erzwingt.
$ logrotate -d -f /etc/logrotate.d/ProjektName
Weitere Informationen zum Thema:
http://wiki.ubuntuusers.de/Logdateien
http://www.fibel.org/linux/lfo-0.6.0/node361.html
http://www.linux-praxis.de/lpic1/manpages/logrotate.html