Monatsarchiv für Mai 2010

 
 

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. ;)

Alte Dateien in einem Verzeichnis löschen

In vielen meiner Scripte verwende ich Logdateien um Erfolg oder Misserfolg zu prüfen. Leider hat das auch zur Folge, dass sich unter Umständen über die Zeit einige Datei ansammeln. In einigen Fällen bietet es sich an direkt im Script die nicht mehr benötigten Dateien zu löschen.

Die folgende Zeile löscht alle Dateien im Verzeichnis /pfad/zum/verzeichnis die älter als 14 Tage sind.

find /pfad/zum/verzeichnis -ctime +14 -exec rm {} \;

Doch Vorsicht! Es werden tatsächlich alle Dateien gelöscht die sich im /pfad/zum/verzeichnis befinden. Es empfiehlt sich also vor dem produktiven Einsatz die Funktionsweise zu testen.

Vertikale Ausgabe der Ergebnisse im MySQL Client

SQL Abfragen in einem Terminal auszuführen hat den Nachteil, dass die Ergebnisse häufig zu groß sind, um leserlich im kleinen Terminal Fenster dargestellt zu werden. Um die Ergebnisse vertikal auszugeben, muss anstelle des ; ein \G als Terminator verwendet werden.

Die folgenden 2 Beispiele zeigen den Unterschied. Zuerst die Prozessliste mit ; als Terminator …

mysql> show full processlist;
+——-+————-+———–+——+———+——–+——————- —————————————————-+———————–+
| Id | User | Host | db | Command | Time | State | Info |
+——-+————-+———–+——+———+——–+——————- —————————————————-+———————–+
| 59172 | root | localhost | NULL | Query | 0 | NULL | show full processlist |
+——-+————-+———–+——+———+——–+——————- —————————————————-+———————–+
1 rows in set (0.00 sec)

… und zum Vergleich die gleiche Abfrage nocheinmal mit \G

mysql> show full processlist\G
*************************** 1. row ***************************
     Id: 59172
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: show full processlist
1 rows in set (0.00 sec)

Wenn man dauerhaft diese Ausgabe möchte, muss einfach in die Datei ~/.my.cnf bzw. für alle Benutzer in der /etc/my.cnf die folgende Zeile ergänzen.

[mysql]
vertical

Nach dem Eintragen dieser Zeile ist es egal ob die Query mit ; oder \G endet. Das Ergebnis wird immer vertikal angezeigt.