Lässige Software:
(Einiges aus eigener Feder, einiges von anderen, aber alles bei mir im täglichen Einsatz)
Verwaltungs-Toolset für einen Postfix-Mailserver: TEQUILA
Das neueste aus meiner Hexenküche! Und hierfür gibt's sogar eine
eigene Tequila-Seite.
Grafischer Dateikompressor und -mailer: ZIPPIMAIL
Wer kennt das nicht: Schnell mal eine oder mehrere Dateien per Email verschicken...., aber die sind wie immer viel zu groß! Also müssen die Dateien erstmal komprimiert werden, dann versandt, und zum Schluss darf das temporäre Archiv schliesslich wieder gelöscht werden.
Sowas geht - natürlich - auch automatisch. Mit "Zippimail" beispielsweise. Nebenbei bemerkt: Mein allererstes "richtiges" Perlprogramm. Ich hoffe, diesen Umstand merkt man der Qualität des Codes nicht an.
Hinweis: Die Perlmodule "Tk" und "MIME::Lite" werden benötigt (gibt's beim CPAN),
Und den Quellcode von Zippimail gibt's hier!. Wer unter Windows noch das passende Packprogramm benötigt, findet hier einmal PKZIP-2.50 inkl. batchfähigem DOS-Programm und zum zweiten PKZIP-2.60 in der Win32-Version. Zippimail ist nach dem Start unter Windows bereits auf diesen Kompressor konfiguriert (PKZIP 2.50). Unter Linux wird natürlich das Gespann tar/gz verwendet. Auch dieses ist bereits vorkonfiguriert, wenn Linux/Unix als OS erkannt wird (na hoffentlich!).
Lokale Dateien auf einen FTP-Server synchronisieren: UPSYNC
Da ich keine Lust habe, nach Aktualisierungen der auf meiner Festplatte liegenden Originaldateien meiner Website jede aufgefrischte Datei einzeln auf den FTP-Server zu übertragen, musste auch dafür ein Werkzeug geschaffen werden.
Dieses Tool gibt es in 2 Varianten: Einer schnellen (Upsync) und einer langsamen, wenngleich ultra-gruendlichen Version (Upsync-Scantree).
Die beiden unterscheiden sich dadurch, dass die schnelle Version eine lokale Datenbank der bereits zum FTP-Server gesendeten Dateien pflegt (und dadurch lokale Dateien nur mit den Zeitstempeln in dieser DB vergleichen muss, um herauszufinden, ob eine Datei uebertragen werden muss), wohin gegen die langsame Version alle lokalen Dateien mit allen entfernten vergleicht, was unheimlich laaaaange dauert - aber eben auch sicherstellt, dass die lokalen und entfernten Verzeichnisbaeume auch wirklich synchron sind.
12.12.2006, Update:Die schnelle DB-Variante läft nun auch unter Windows.
FTP-Server mit lokalen Dateien synchronisieren: DOWNSYNC
Und nun das ganze in umgekehrter Richtung. Ein spöttisches "Dankeschön" an die Holding meines alten Arbeitgebers, übrigens! Dank des dort erfundenen "Sicherheitspaketes" wurde genau das Gegenteil der upsync-Funktionalität nötig. Wie gut, dass ich dieses einige Wochen vorher für meine Homepage bastelte, gell?
Das Ding dient dazu, einen lokalen Spiegel eines FTP-Dateibaumes zu erstellen (erstmaliger Programmstart) und ihn mit dem Server synchron zu halten (jeder weitere Aufruf).
Sinnvollerweise werden nur Dateien vom FTP-Server heruntergeladen, die es lokal nicht gibt, oder deren Zeitstempel differiert.
Analog zu "upsync" werden lokale Dateien, die es auf dem FTP-Server nicht mehr gibt, gelöscht.
12.12.2006, Update:Läft nun auch unter Windows (falls gerade mal kein Linux zur Hand ist).
Geschrieben - was soll ich dazu noch sagen? - naturalmente in Perl. Wer's ham will, klicke hier!.
Werktage- / Feiertagsberechnungen: FREIETAGE
Werft eure Feiertagstabellen in den Papierkorb! Hier ist ein Perlprogramm, bzw. einige -Funktionen zur Berechnung der Anzahl zwischen zwei Daten liegender Werktage (Basiert auf der Gauss'schen Osterformel. Danke, Gauss!).
Es ist eine Funktion enthalten, die - mit einem Startjahr aufgerufen - je eine Datenstruktur mit der Tagesliste aller Samstage und Sonntage, und eine mit allen Feiertagen des betreffenden Jahres zurückliefert. Momentan ist die Bestimmung des Bundeslandes noch DPD-bezogen, aber das sollte sich ja nun wohl auch noch hinkriegen lassen. ;-) Download hier.
FTP-Server nach Aktualisierungen scannen: FTP-NEWS
Wer wie ich keine Lust hat, ständig auf FTP-Servern nach neuen Dateien oder Updates zu suchen, schreibt sich halt ein Tool dafür.
"ftpnews" besteht aus zwei Teilen, das Shellskript setzt die Umgebung (gibt den Namen des zu untersuchenden FTP-Servers an, das Login, das Verzeichnis und die Dateispezifikation), während das Perlprogramm diesen Job dann einfach ausführt und die gefundenen Neuigkeiten dann per Email dem im Shellskript definierten Empfängerkreis mitteilt. Den Code gibt's hier.
Dateien per FTP downloaden und via Email senden: FTP-TOOL
Auch ein niedliches Ding: Erlaubt ein automatisches Runterladen von Dateien eines FTP-Servers mit anschliessendem Versand per Email an eine ausgesuchte Klientel. Eignet sich hervorragend dazu, periodisch anfallende Daten zu verschicken. Geschrieben in Perl, was soll ich sonst auch sagen?
Die Arbeitsweise entspricht der vom FTP-News, ist also shell-/perlbasiert. Das Programm findet sich hier.
Bilderverwaltung / Bandbreitenschonung: CREATETHUMBS
Auch ein Erstlingswerk, aber nicht meines! Kopierrechtet Eike Bernhardt und erzeugt kleine "Daumenkinobildchen" von vorhandenen gifs/jpegs, samt einer rudimentären "index.html" dazu. Auch Geperlt.
Ich gestehe: Auch ich hab's benutzt!
Das kleine Schnuckelchen gibt's hier.
Programmgesteuertes Erzeugen von Grafiken: GD/GDGRAPH
Tolles Perl-Modul, setzt auf der GD-Bibliothek auf, einer C-Funktionssammlung, die Routinen zur Erstellung von Grafiken bereitstellt. GDGraph setzt noch einen drauf und bietet komfortable Möglichkeiten zur perlprogrammierten Diagrammerzeugung
Herunterladbar wie alle Perlmodule im CPAN. Und ein Beispieldiagramm von GDGraph bei der Arbeit gibt's dort. Wem es nach dem Quelltext der Beispielgrafik gelüstet, wird hier Befriedigung finden.
Eigene animierte GIF-Grafiken erstellen: GIFMERGE
Auch sehr gut zu gebrauchendes C-Programm zur Erzeugung von animierten GIF-Grafiken aus vorhandenen Bildchen.
Mischt vorhandene Gifs (in alphabetisch aufsteigender Reihenfolge) zu einer Animation, damit das Web weiterhin mit Werbung verschandelt werden kann :-]. Download des Archives hier.
Kontinuierliche grafische Datenprotokollierung: MRTG
Klasse Teil! Der Name des Biestes bedeutet: "Multi Router Traffic Grapher", womit eigentlich schon alles gesagt sein dürfte. :-)
Mit dem Ding lassen sich Datenquellen (wie etwa der Netzwerkdurchsatz eines Routers eben) periodisch abfragen und das Resultat als Grafik innerhalb einer HTML-Seite darstellen. Dabei werden gleich noch die Mittelwerte über Tag, Monat und Jahr gebildet und angezeigt, sofern gewünscht. Die Software ist sehr weit konfigurierbar und flexibel, auch was die Datenquellen anbelangt.
Programmiert in Perl und C.
Weitere Informationen zu MRTG gibt's auf dessen Seite.
Festplattenüberwachung: WARN_LOWSPACE
Wieder mal ein kleines Tool von mir, da ich es hasse, wenn mir Festplattenpartitionen überlaufen.
Einfach die ersten paar Zeilen des Skriptes editieren und passende Einträge festlegen, dann ein- oder mehrmals täglich im Cron laufen lassen. Als Parameter auf der Kommandozeile werden die Namen der zu überwachenden Partitionen (ohne führendes /dev/) angegeben. Das Skript gibt's hier.
Geschrieben in AWK.
Laufende Programme metzeln: KILLNAMED
Ein kleines Massenmörder-Tool aus meiner Schreibstube
Wer einmal als root-User den Befehl "killall" ohne Parameter unter AIX aufrief (und das auf einem Produktionsrechner), wird sich über das unterschiedliche Verhalten der einzelnen Unixvarianten auch so seine Gedanken machen.
Ich schrieb mir dieses Werkzeug nicht, um laufende Prozesse anonym per Nummer zu erledigen. Nein, ich möchte sie persönlich mit Namen anreden und dann in den Himmel für ungezogene Programme schicken! Und wenn der Name auf eine ganze Sippschaft zutrifft, dann eben auch weg damit!
Um virtuellen Völkermord vorzubeugen, kann mit der "--dry" Option angegeben werden, ob das Program nur im "Was-wäre-wenn" Modus läft. Das Mordwerkzeug gibt's hier und ist seines Wesens nach ein Shellskript.