Eintrag in Logdatei suchen

Logdateien können unter Umständen recht groß werden. Wenn man dann darin nun einen bestimmten Eintrag sucht oder nach einem Ereignis filtern möchte, kann das Programm grep helfen.

tail -f /var/log/mail.log | grep email@domain.tld

Diese Abfrage gibt dann alle Zeilen Zurück, die email@domain.tld enthalten. Natürlich ist diese Funktion nicht auf Logdateien beschränkt und kann auf beliebige Ausgaben in der Shell angewendet werden.

Handbuch für Ubuntu zum kostenlosen Download

Neues Ubuntu LogoWie Golem berichtet, hat Galileo Computing ein Handbuch zu Ubuntu 10.04 als Openbook veröffentlicht. Dieses kann wie gewohnt online gelesen werden. Auch ein Download der HTML Dateien wird angeboten.

Wer lieber die 1.104 Seiten starke gedruckte Ausgabe lesen möchte, findet diese z.B. bei Amazon für 39,90 EUR. (ISBN: 978-3-8362-1654-8)

Weitere Informationen zum Thema:
http://openbook.galileocomputing.de/ubuntu/

MySQL Login ohne Passwort mit .my.cnf

Um beim Arbeiten an einem MySQL Server nicht ständig die Parameter für Benutzername und Passwort angeben zu müssen, kann man eine Benutzerkonfiguration anlegen und dort Benutzername und Passwort eintragen.

nano ~/.my.cnf

Anschließend den folgenden Inhalt einfügen.
[text][client]
user=benutzername
password=passwort

[mysqladmin]
user=benutzername
password=passwort[/text]

Speichern. Fertig. Nun kann man auf der Konsole die Programme mysql und mysqladmin ohne Parameter für Benutzer und Passwort verwenden.

Doch Vorsicht! Diese Funktion mag vielleicht komfortabel sein, aber gelingt es einem Angreifer eine Shell-Sitzung unter Ihrem Benutzer zu starten, so hat dieser auch Zugriff zur Datenbank.
Der Einsatz in Produktivumgebungen sollte also gut überlegt sein.

Weitere Informationen zum Thema:
http://dev.mysql.com/doc/refman/5.1/de/option-files.html

Konsistenz einer Datenbankreplikation prüfen

Das Einrichten von Replikationen unter MySQL ist „recht einfach“. Schwieriger ist es die Konsistenz der replizierten Datenbanken herauszufinden. Gerade nach einem Ausfall und dem erneuten Aufsetzen der Replikation.
Eine Variante ist die Benutzung des Maatkit Toolkit, welches für Anwender, Entwickler und Administratoren von Open-Source-Datenbanken (z.B. MySQL, PostgreSQL, …) entwickelt wurde. Das Toolkit stellt unter anderem Skripte bereit um mittels Checksummen verschiedene Datenbanken miteinander zu vergleichen.

Zunächst werden die Scripte des Maatkit Toolkit benötigt.

wget http://www.maatkit.org/get/mk-table-checksum
wget http://www.maatkit.org/get/mk-checksum-filter

Nicht vergessen die heruntergeladenen Skripte ausführbar zu machen!
Alternativ kann auch das gesamte Toolkit aus den Paketquellen installiert werden.

sudo apt-get install maatkit

Danach können mittels mk-table-checksum alle Checksummen der angegebenen Datenbank wie folgt angezeigt werden.

mk-table-checksum h=host1,u=user,p=pass h=host2,u=user,p=pass … –databases db

Da sich das Lesen der Rückgabe bei größeren Datenbanken recht schwierig gestaltet empfiehlt sich er Einsatz des Skripts mk-checksum-filter als Ausgabefilter.

mk-table-checksum h=host1,u=user,p=pass … –databases db | mk-checksum-filter

Hiermit werden nur die Tabellen angezeigt, die Unterschiede in der Checksumme haben.

Mit ein bisschen basteln kann diese Information z.B. in einem Script regelmäßig die Konsistenz der Datenbank prüfen und im Fehlerfall per Mail den Admin informieren. Selbstverständlich gibt es noch viele weitere Funktionen und Parameter auf die ich nicht eingegangen bin, diese sind in der Dokumentation gut beschrieben.

Weitere Informationen zum Thema:
http://www.maatkit.org/
http://www.maatkit.org/doc/mk-table-checksum.html
http://www.maatkit.org/doc/mk-checksum-filter.html
http://code.google.com/p/maatkit/

apt-get macht Moo

Bei einem Blick in die Hilfe von apt-get ist mir am Ende der folgende Satz aufgefallen: „Dieses APT hat Super-Kuh-Kräfte.
Mit ein wenig probieren kommt dann so etwas bei raus:

sven@ubuntu-laptop:~$ sudo apt-get moo
         (__) 
         (oo) 
   /------\/ 
  / |    ||   
 *  /\---/\ 
    ~~   ~~ 
. . . .“Have you mooed today?“. . .

Ach hätte ich auch so viel Zeit beim Programmieren. ;)