Johannes Franken
<jfranken@jfranken.de>
Programm | Transport | Umfang | Performance | |||||||
---|---|---|---|---|---|---|---|---|---|---|
lokal | http(s) | ftp | pipe | delete | filedate | permissions | differentiell | partiell | Kompression | |
wget | - | X | X | - | - | X | - | X | X | - |
cp -duRp | X | - | - | - | - | X | X | X | - | - |
tar | X | - | - | X | - | X | X | - | - | X |
rsync | X | - | - | X | X | X | X | X | X | X |
wget Optionen URL |
wget wird seine ftp- und http-Zugriffe automatisch an einen Proxyserver richten. wenn die Environmentvariable http_proxy oder ftp_proxy gesetzt sind, z.B. mittels
Option Auswirkung -N die Datei nicht downloaden, wenn sie bereits lokal vorliegt und das Dateidatum übereinstimmt. -nH --cut-dirs=2 Im rekursiven Modus erstellt wget normalerweise Verzeichnisse für den Hostnamen und alle in der URL genannten Unterverzeichnisse. Die Option -nH verhindert das Anlegen der Hostverzeichnisse und --cut-dirs=2 das Anlegen der ersten beiden Verzeichnisse der übergebenen URL. Beispiel: wget -r -nH --cut-dirs=2 http://www.jfranken.de/homepages/johannes/vortraege legt als erstes das Verzeichnis vortraege an. -k ersetzt in HTML-Dateien enthaltene, absolute URLs durch relative. Vorsicht, das funktioniert nicht in allen Situationen. -r -np (rekursiv, no-parent): Wenn die übergebene URL eine HTML-Datei liefert, alle von ihr referenzierten Elemente (insb. Verweise und Grafiken) ebenfalls holen und das Verfahren für diese wiederholen. Die Option -np verhindert, dass dabei das übergebene Verzeichnis nach oben hin verlassen wird. Referenzen auf andere Hosts werden ignoriert, es sei denn, man gibt den Parameter -H an. -p -l 10 Der Parameter -l 10 beschränkt die Rekursionstiefe für -r auf 10 Ebenen. Ohne Angabe der Rekursionstiefe werden maximal 5 Ebenen verfolgt. Die Angabe -l 0 bedeutet unendliche Tiefe, und ebensolche Probleme im Filesystem bei zyklischen Verweisen. Der Parameter -p verhindert, dass die Grafiken der HTML-Dateien der letzten Ebene fehlen. -H -Djfranken.de,our-isp.org Auch Verweisen auf andere Server folgen, allerdings nur in den Domains jfranken.de und our-isp.org. -nv Verhindert die Ausgabe von Debugging-Meldungen.
$ export http_proxy=http://jfranken:secret@proxy.jfranken.de:3128/ $ export ftp_proxy=$http_proxy |
rsync Optionen Quelle(n) Ziel |
Zur Notation von Quelle und Ziel:
Option Auswirkung -a (archive mode): Kopiert alle Unterverzeichnisse, allerhand Attribute (Symlinks, Rechte, Dateidatum, Gruppe, Devices) und (wenn man root ist) den Eigentümer der Dateien. -v --progress (verbose): -v gibt während der Übertragung eine Liste der übertragenen Dateien aus. Wenn man zusätzlich --progress setzt, zeigt rsync dabei laufend die Zahl der übertragenen Bytes und den Fortschritt in Prozent an. -n (dry-run): Nichts schreiben, sondern den Vorgang nur simulieren. -z -e Programm Wenn in der Quelle oder dem Ziel ein Doppelpunkt enthalten ist, interpretiert rsync den Teil vor dem Doppelpunkt als Hostnamen und kommuniziert über das mit -e spezifizierte Programm, dem es folgende Parameter übergibt: Als Programm bietet sich insbesondere ssh an. Wenn man dem Programm weitere Parameter voranstellen möchte, sind diese mit dem Programm in Anführungszeichen zu fassen.
- als Quelle: hostname rsync --server --sender . Quellpfad
- als Ziel: hostname rsync --server . Zielpfad
Der Parameter -z bewirkt, dass rsync die Daten komprimiert überträgt.--delete --force --delete-excluded löscht alle Einträge aus dem Zielverzeichnis, die in der Quelle nicht (mehr) vorhanden sind. --partial Nach einem Verbindungsabbruch die unvollständig empfangenen Dateien nicht löschen. So kann die Übertragung der Datei bei einem folgenden rsync-Aufruf fortgesetzt werden. --exclude=Pattern Die Dateien ignorieren, die dem übergebenen Pattern entsprechen, z.B. --exclude *~ . Den umfangreichen Exclude-Möglichkeiten widmet sich ein ganzes Kapitel in der rsync(1) manpage. -x Schließt alle Dateien auf Filesystemen aus, die in das Quellverzeichnis hineingemountet sind.
$ tar cf - mydir/ | ssh gate 'cd /tmp && tar xpvf -' |