INCLUDE_DATA

Archiv für #!/bin/bash

logrotate und webalizer

wer sich schon öfters gefragt hat, was man gegen überquellende Apache-Log Dateien unternehmen kann, ist hier genau richtig. Mit dem kleinen Programm logrotate ist es möglich die Apache Logdateien(oder andere Logs), in gewissen einstellbaren Zeiträumen rotieren zu lassen. Entweder stündlich, täglich, monatlich…..je nach Anforderung.

Sie denken sich jetzt, jaja verzähl nur, bloß wie richte ich jetzt das bei mir ein ?

Hier ist der Direkte Weg zur Einrichtung von Logrotate mit Apache.

————————————————————————————————————————–

Das Zauberwort heißt httpd.conf, hier kann man diese Einstellung vornehmen

Folgende Zeile ist zu Suchen, kann eventl. abweichen:

LogFormat “%t \”%r\” %>s \”%{Referer}i\” %b” myAppFormat

diese Zeile beschreibt das Logformat.

um jetzt rotatelogs zu nutzen, muss man die Zeile ein wenig anpassen.

Um nun zum Beispiel jedes Monat die Logdatei rotieren zu lassen, ist folgende Änderung nötig:

CustomLog “|/pfad/zu/rotatelogs /pfad/zu/accesslog/access_log.%Y%m 2592000″ common

Diese Zeile bewirkt nun, das alle 2592000 Sekunden (1 Monat) einen neue Logdatei erstellt wird. Desweiteren haben die Logdateien eine Endung nach dem Format .200708 (.jahrmonat)

weiteres Beispiel:

CustomLog “|/pfad/zu/rotatelogs /pfad/zum/logfile 5M” common

Dies zum Beispiel hat die Wirkung das sobald eine Logdatei 5 Megabyte erreicht, die Logdatei sofort rotiert wird.

Weitere Beispiele und die Syntax mit Optionen sind hier zu finden.

Empfehlenswerter Artikel von ZDnet

So nun, wird je nach Einstellung die Logdatei zum Beispiel jedes Monat rotiert.

Problem-Falle Webalizer:

Sie nutzen das Statistik Tool Webalizer zur Auswertung der Logdateien !?

Sie werden sich jetzt bestimmt fragen, hmm wie soll ich jetzt webalizer automatisch per cronjob aufrufen lassen, wo sich der Namen der logdatei doch ständig ändert ?

Hierzu habe ich auch einen akzeptablen Workaround.

Zum Lösen des Problems kommt ein kleines Bash-Script zum Einsatz.

#!bin/bash

datum=$(date +%Y%m)

#in ein anderes Verzeichniss kopieren, um anschließend damit zu arbeiten.

cp /pfad/zum/log/access_log.$datum /pfad/zum/log/webalizercache

#umbennen für webalizer

mv /pfad/zum/log/webalizercache/access_log.$datum /pfad/zum/log/webalizercache/access_log

#Nun Webalizer aufrufen

/pfad/zum/webalizer/webalizer

#webalizercache leeren

rm /pfad/zum/log/webalizercache/access_log

#fertig

exit 0

Mit diesem Script kann man das Problem lösen. Ich denke durch die Kommentare erklärt es sich von selbst. Nun muss man nur noch seinen Cronjob anpassen. Anstatt webalizer jetzt direkt aufzurufen, einfach dieses script aufrufen.

So Fertig. Haben Sie eine andere Lösung gefunden ? Schreiben Sie bitte einen Kommentar.

Danke

-Diego

PS:  Die Formatierung in den Zitaten ist etwas ungünstig, man sollte diese in einer einzigen Zeile schreiben, und auch ohne so viele Leerzeichen. :)

smarbs

smarbs ?

Genau ein  space-managing-rsync-backup-script. So bezeichent es der Autor selbst auf der Projekt Website.

Um was geht es bei smarbs ? 

Smarbs ist einen Linux Script welches sehr schnell und sehr effektiv Backups eines Linux Systems mittels rsync anlegt. Es ist ein mächtiges Backup Werkzeug welches Komplette Snapshots als auch inkrementelle Backups unterstützt. Zusätzlich kann es Backups eines definierten Alters automatisch löschen, auch der Rest kann automatisch erfolgen. So ist es möglich täglich um 24 Uhr ein Backup anzulegen.

Ich selbst setzte smarbs erfolgreich ein. Dies Lösung läuft und läuft und läuft………..und funktioniert problemlos. Kann ich nur weiterempfehlen, und zwar an jeden der noch auf der suche nach einen anständigen Script ist um Backups zu erstellen, ob auf einem Server oder einem Desktop ist hierbei unbedeutend.

Wesite und Infos:

http://smarbs.sourceforge.net/

http://sourceforge.net/projects/smarbs/

-Diego

Discus

Discus ist ein kleines Kommandozeilen Tool das die Festplattenbelegeung einfacher und übersichtlicher wie df oder du darstellt.

Screenshot des Tools:

Discus

Unter Ubuntu ist es folgendermaßen zu installieren:

sudo apt-get install discus

Wirklich nützlich !

-Diego

Ubuntu: /etc/motd - Standard SSH Begrüßung ändern

Sie haben sich schon öfters gefragt, wie man die Standard Begrüßung, die einem bei der Anmeldung an einem Ubuntu Server (oder anderen Debian ähnlichen Distributionen) per SSH begegnet, ändern kann ? Dann ist das genau der richtige Beitrag für sie !

Dies ist insbesondere nützlich, wenn man mehrere SSH Sessions offen hat. Somit kann man nicht den Überblick darüber verlieren. Die entsprechende Datei, die für die Begrüßung zuständig ist, ist die /etc/motd.

Somit sieht der Befehl zum bearbeiten folgendermaßen aus:

markus@linux:~$ sudo nano /etc/motd

Jetzt steht hier: “The programs included with the Ubuntu system are free software […]”

Dies erstezt man jetzt durch seinen eigenen Text:

############################

Welcome to test.test.com

And some more Infos

############################

So jetzt mit der Tastenkombination STRG+O noch speichern und dann mit STRG+X den Editor nano beenden.

So jetzt müssen wir noch dafür sorgen, dass beim nächsten Reboot nicht wieder die Standard Begrüßung zurückgespielt wird.

Dazu müssen wir die Datei /etc/default/rcS noch editieren. Dazu:

markus@linux:~$ sudo nano /etc/default/rcS

Jetzt suchen wir noch die Zeile:

# Set EDITMOTD to “no” if you don’t want /etc/motd to be regenerated
# automatically
EDITMOTD=yes

Und ersetzen das yes bei EDITMOTD durch no.

Jetzt noch Speichern mit STRG+O und noch Beenden mit STRG+X.

Jetzt ist man fertig und man kann sich einmal per SSH auf dem PC verbinden um sein Wunderwerk zu betrachten.

:)

PS: Getestet für Ubuntu 6.06.1

-Diego