Perl FTP Script für automatische Dateitransfers

Vor einiger Zeit hab ich mal ein Perl FTP Script geschrieben um diverse FTP Transfers in der Firma zu automatisieren.

Die Verbindungseinstellungen zu den diversen abzuarbeitenden FTP Servern stehen in MySQL Datenbanksätzen und sind so per PHP pflegbar.

Da diese Woche wer nach einer ähnlichen Lösung gefragt hat, ist mir wieder eingefallen, dass ich das Script eigentlich schon damals hab veröffentlichen wollen.

Was das Script macht?

Das Programm dient dazu bestimmte Daten vom lokalen Rechner auf ferne FTP Server zu laden oder bestimmte
Dateien von einem externen FTP Server auf den lokalen Rechner zu holen.
Man kann z.B. angeben dass nur Dateien mit “OFF” am Anfang und “.TXT” am Ende geholt oder geschoben
werden sollen.
Oder man kann nur eine bestimmte Datei holen oder hochladen.
Diese Einstellungen sind in einer MySQL Datenbank abgelegt die vom Programm Satz für Satz abgearbeitet
wird.

Funktionsweise:

  • Alle 10 Minuten läuft ein Cronjob an der das ftpscript2 mit dem Parameter “-m0” startet.
  • Das Script verbindet sich zum MySQL Server und holt sich einen Datensatz.
    Wenn es ein GET Satz ist werden die Routinen zum herunterladen ausgeführt
    Wenn es ein PUT Satz ist werden die Routinen zum hochladen ausgeführt.
  • In den Sätzen stehen alle Einstellungen für den ftp connect drin und auch die Verzeichnisse aus denen
    geladen/heruntergeladen wird.

Wenn man einen bestimmten Satz abarbeiten will geht das mit
$ ftpscript2 –sFASZKE
Wobei man für FASZKE die jeweilige Satzkennung aus der Datenbank angibt.

 

Das Script lief 2-3 Jahre lang problemlos bei uns und hat täglich mehrere hundert Dateien von Kunden und zu Kunden hin übertragen.

Runterladen kann man es inkl. Doku und manpages hier: ftpscript2.zip

CUPS Webinterface Suche

Da es wiedermal ein Update für CUPS gab, ist auch wiedermal die Suchfunktion im Webinterface kaputt.

Ich weiss nicht, ob das nur bei den Debian Paketen ist, aber es nervt ein wenig.

Im Webinterface gibt es diverse Suchfelder, mit denen man z.B. in der Druckerübersicht aus hunderten Druckern  nur die raussuchen kann, die den Text “WUR” im Namen haben.

Wenn man das deutsche Webinterface nutzt, funktioniert das allerdings nicht, weil die deutschen Sprachdateien kaputt sind.

Statt der Anzeige mit den passenden Druckern gibts dann eine Drucker-Detailanzeige für den Drucker {THIS_URL}.

Dann siehts so aus:

Da funzt offensichtlich was nicht in der Übergabe der Parameter ans Such-Script.

Im englischen gehts.

Das Geheimnis liegt darin, dass sich irgendwann mal die verfügbaren Variablen im Webserver geändert  haben und der seitdem

<FORM ACTION=”{THIS_URL}” METHOD=”GET”>

für die aktuelle Page nicht mehr kannte.

Neuerdings heisst es nämlich

<FORM ACTION=”/{SECTION}/{?SEARCH_DEST}” METHOD=”GET”>

In der englischen /usr/share/cups/templates/search.tmpl wurde das geändert.

In der deutschen /usr/share/cups/templates/de/search.tmpl müssen wir das selber machen.

Da muss man einfach die erste Zeile mit der aus der englischen Version ersetzen, dann funktioniert die Suche wieder.

Das Debian Team kriegts seit Jahren nicht hin.

Schnelles inkrementelles Bash Backupscript

Ich musste heute für ein paar Linuxserver schnell eine Sicherung zaubern die halbwegs gut funktioniert.
Bisher wurden die VMs vom ESX jede Nacht komplett auf eine NAS gecloned.
Was natürlich saulahm ist und nebenbei noch massig Platz braucht.

Da ich gerne etwas weniger Traffik zwischen NAS und Servern hätte, sollte es eine inkrementelle Backuplösung sein.

Continue reading “Schnelles inkrementelles Bash Backupscript”

Länderkennzeichen Galore!

http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3

Uruguay hatte mal ISO ROU (Republic of Uruguay – Macht Sinn)

Seit 2002 haben die ISO URY
Rumänien hat dann 2002 das ISO ROU bekommen

Uruguay hat aber immer noch als KFZ Länderkennzeichen ROU

Das soll jetzt ma einer verstehen.

Vor allem krieg ich jetzt hier Auftragsdaten für Uruguay (ISO2 UY)

Setze das intern nach ROU um, weil die Software heimlich auf KFZ Länderkennzeichen basiert.

Guck mir den Auftrag an und denk: “ROU? Das is doch niemals Uruguay, da issn Fehler.”

Guck nach und dann steht in meiner Länderliste ROU=Rumänien.

Das is alles so verwirrend…

Die Gedanken sind frei #5

11:25 <+angel^work> ” Die Sendung wurde in das Zustellfahrzeug geladen. ” yay
11:25 <+angel^work> 2h noch und ich hab nen neuen rechner
11:25 <+angel^work> heute gehn wir früher nach haus 🙂
11:30 <+angel^work> ich will nicht wissen, wieviel schaden dhl tracking der deutschen wirtschaft schon zugefügt hat. *refresh*