ADMIN-Tipp: Kopieren mit Fortschrittsbalken

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

Beim Kopieren größerer Datenmengen ist es beruhigend zu sehen, das etwas passiert. Die richtigen Tools dokumentieren den Fortschritt der Operation.

Besonders nahtlos fügt sich Advanced Copy in den altbekannten Unix-Werkzeugkasten ein, denn es verändert die GNU-Tools "mv" und "cp" aus den Coreutils, die zumindest auf Linux-Distributionen zum Standardumfang gehören. Das Problem dabei ist, dass man die Coreutils selbst übersetzen muss. Schwierig ist das nicht, aber danach hat man zwei Binaries auf der Platte liegen, die nicht mehr Bestandteil der Paketverwaltung sind und.

Ein anderer Ansatz ist, statt "cp" einfach "rsync --progress -ah" zu verwenden. Das funktioniert zwar, ist aber kein vollwertiger Ersatz für "cp" mit allen seinen Aufrufparametern. Auch der Pipe Viewer implementiert eine Fortschrittsanzeige, die sich in vielerlei Weise einsetzen lässt, aber er arbeitet nach dem Pipe-Prinzip, liest und schreibt also von den Standard-Kanälen. Beim Aufruf wird daraus also:

pv Datei > neueDatei

Die beste Lösung für das Problem scheint ein Programm namens "gcp" zu sein, das in Python geschrieben ist und zumindest Teil der Ubuntu- und Debian-Distributionen ist. Es zeigt den Fortschritt beim Kopieren an, bietet die wichtigsten Aufrufparameter von "cp" und noch ein paar weitere praktische Features wie die Anpassung von Dateinamen mit Sonderzeichen, Logging und Übertragungslisten. Und seit 2003 das Patent EP0394160 ausgelaufen ist, das den Fortschrittsbalken patentiert hatte, auch noch völlig patentfrei.

17.09.2013

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Loadtests ohne Server

Für Loadtests der eigenen Server bietet sich die Cloud an, denn kurz getaktet lassen sich dort viele Rechnerinstanzen starten, die das eigene Budget nur wenig belasten. Noch flexibler, günstiger und besser skalierbar sind Tests mit einer Serverless-Infrastruktur wie AWS Lambda. Wir führen vor, wie Sie dort mit Serverless Artillery eigene Loadtests starten. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite