ADMIN-Tipp: One Way Ticket

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Ein kleines Python-Skript offeriert eine pfiffige Methode für schnelle File-Transfers.

Dateien von einem Rechner auf einen anderen zu übertragen, gegebenenfalls auch über Betriebssystemgrenzen hinweg, ist eine so häufige Aufgabe, dass es dafür unzählige Lösungen gibt. NFS oder Samba fallen einem vielleicht zuerst ein. Sie sind sicher und leicht zu handhaben, allerdings lohnt der Einrichtungsaufwand für einen einmaligen Dateiversand kaum. E-Mail wäre eine Alternative, wenn das File nicht zu groß ist. Ein USB-Stick käme in Betracht, wenn die Rechner nah beieinander stehen. Auf Dropbox könnte man zurückgreifen, wenn das File nicht sicherheitskritisch ist.
Das kleine Python-Skript woof (das steht für "Web Offer One File"), das man sich unter dieser Adresse  schnell besorgt, lokal gespeichert und ausführbar gemacht hat, implementiert als weitere Alternative einen Mini-Webserver,  der ein einzelnes File einmal zum Download anbietet. Dafür braucht das Skript im einfachsten  Fall nur den Pfad zum File, das man weitergeben möchte:

jcb@hercules:~$ woof ./weka.log
Now serving on http://192.168.111.136:8080/weka.log

Auf der Gegenseite öffnet man nun einen Browser und gibt die angegebene URL ein. Anschließend wird sich der Browser erkundigen, ob er das File direkt öffnen oder speichern soll - das war's. Der Sender quittiert den Download mit der Log-Zeile:

192.168.111.168 - - [22/Jul/2013 10:12:27] "GET /weka.log HTTP/1.1" 200 -

Viel komplizierter wird es nicht mehr. Man kann das File lediglich mit der Option -c für mehrfachen Download anbieten. Mit -z kann man ganze Verzeichnisse als gezippte Tarballs verschicken. Auch Bzip oder keine Komprimmierung sind einstellbar.
Mit Option -s bietet sich woof praktischerweise selber zum Herunterladen an:

jcb@hercules:~$ woof -s
Now serving on http://192.168.111.136:8080/woof

Und schließlich generiert die Option -U im Browser der Gegenseite ein schlichtes Upload-Formular, mit dem man von dort aus ein einzelnes File zum woof-Server schicken kann.

jcb@hercules:~$ lynx http://192.168.111.136:8080/

                                  Woof Upload

   ____________________

   Upload!
23.07.2013

Ähnliche Artikel

  • ADMIN-Tipp: Mehr mit Meta

    Spezielle Tastenkombination, oft mit dem Meta-Key - per Default ist das [Alt] - entlocken der Bash nützliche Funktionen.

  • ADMIN-Tipp: Tipp-Ex für die Shell

    Die Bash kennt einige nette Tricks, die dem Kundigen die Arbeit erleichtern. So vertippt sich auch der größte Guru mal - aber er weiß sich danach elegant zu helfen.

  • ADMIN-Tipp: Achtung, Umleitung

    Unix-Shells wie beispielsweise die Bash können Ein- und Ausgabeströme umleiten. Die Syntax für dieses nützliche Feature wirkt zuweilen etwas kryptisch, weswegen dieser Tipp ein Beispiel seziert.

  • ADMIN-Tipp: Suchen in Texten

    Wenn man zu viel findet kommt man auch nicht weiter. Das kennt man aus dem Internet aber auch vom Unix-Kommando find. Dieser ADMIN-Tipp stellt einen doppelten Filter vor, der den anfallenden Datenmüll reduzieren kann.

  • ADMIN-Tipp: Neue Zeitrechnung

    "Weißt Du wieviel Sternlein stehen, an dem weiten Himmelszelt?" Es sind 2000 mit bloßem Auge sichtbare - unter guten Bedingungen. Wegen der Lichtverschmutzung besonders in Großstädten aber oft nur Hunderte. Gesetzt, man könnte einen pro Sekunde zählen - wie lange bräuchte man? Die Shell weiß es.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021