Sven Kügler

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.
[text][mysql]
vertical[/text]
Nach dem Eintragen dieser Zeile ist es egal ob die Query mit ; oder \G endet. Das Ergebnis wird immer vertikal angezeigt.

Nachrichten aus der Shell an den Desktop senden

Testausgabe auf dem DesktopAuch wenn man Ubuntu als Destopsystem einsetzt, so ist die Verwendung der Kommandozeile nicht gerade selten. Häufig kommt es dann auch dazu, das ein Programm oder Scipt etwas länger braucht. Diese Zeit kann am Desktop mit anderen Tätigkeiten verbracht werden. Damit man nun nicht jedesmal in die Shell schauen muss, ob das Programm oder Script beendet ist, kann man unter Gnome das Programm notify-send zur Anzeige von Meldungen auf dem Desktop verwenden. Dazu wird das Paket libnotify-bin benötigt.

apt-get install libnotify-bin

Nach der Installation steht der Befehl notify-send zur Verfügung.

notify-send „Testausgabe auf dem Desktop“ -i info

Der Parameter -i legt das Icon fest. Es kann sowohl ein Icon aus dem Theme (Namen findet man hier) verwendet werden, als auch der UNC Pfad angegeben werden (file://pfad/zum/bild.png) Der Parameter -t soll die Zeit festlegen wie lang die Meldung angezeigt wird. In meinen Tests hat das bisher nicht funktioniert. Im Gegenteil -t 0 erzeugt anstatt einer schicken Meldung ein PopUp. Alle weiteren Parameter sind in der manpage aufgelistet.
Bei der Verwendung von Scripten oder Pogrammen kann man die Benachrichtigung einfach hinten anhängen.

./mysql_backup.sh; notify-send „Backup abgeschlossen“ -i media-floppy

Nachricht Backup abgeschlossen
Natürlich kann notify-send auch direkt in den Scripten verwendet werden um z.B. Ergebnisse auszugeben.

Ubuntu 10.04 mit LTS ist veröffentlicht

Neues Ubuntu LogoGestern wurde die neueste Version von Ubuntu mit dem Namen „Lucid Lynx“ in der Version 10.04 veröffentlicht. Damit halten sich die Ubuntu Entwickler exakt an den festgelegten Zeitplan. Die aktuelle Version kommt mit Long Term Support und wird somit für die kommenden 3 Jahre mit Updates versorgt.

Zum Einsatz kommt der Kernel 2.6.32 der für längeren Support ausgelegt ist. Das Standartdateisystem ist ext4, das zuvor nur optional zur Verfügung stand. Eine vollständige Liste der Neuerungen gibts z.B. hier.

Lucid Lynx kann z.B. hier als iso heruntergeladen werden oder mittels Aktualisierung aus den Paketquellen bezogen werden.

Weitere Informationen und Downloads zu Ubuntu 10.04:
http://wiki.ubuntuusers.de/Lucid_Lynx
http://wiki.ubuntuusers.de/Downloads/Lucid_Lynx

Zeilennummern in nano anzeigen

nanoIn der Shell gibt es viele verschiedene Texteditoren. Mein absoluter Favorit ist nano. Er ist einfach und intuitiv zu bedienen. Allerdings sind eine Funktionen scheinbar nicht aktiviert z.B. „Gehe zu Zeilennummer“. Um nicht die Konfiguration ändern zu müssen (ungünstig gerade bei fremdem Servern) kann man sich die Zeilennummern aber mittels ALT + C anzeigen lassen.

In der Hilfe (Strg + G) sind alle Funktionen erklärt.

Hinweis: Auch Syntax Highlighting wird unterstützt, wie in diesem Tutorial beschrieben wird: http://gentoo.linuxhowtos.org/nano/config_nano.htm