wget Rekursion

Ich habe gestern einen ziemlich ärgerlichen Fehler in meinem Backupskript gefunden der natürlich erst auffiel als ich das Backup dann wirklich brauchte… Der Fehler hängt mit wget zusammen welches ich benutze um von einem anderen Server die Daten über FTP zu sichern.  Bisher verwendete ich die folgende wget Zeile:

wget -rq 'ftp://example.org'

Zu dieser kam ich durch das lesen der Manpage von wget:

-r
 --recursive
 Turn on recursive retrieving.

In Verbindung mit Maschinen und Macro Definitionen in der Datei .netrc wurde die Verbindung zum Server aufgebaut und der Verzeichnisbaum rekursiv durchlaufen… so der Plan 😉

Dummerweise hatte ich die nächste Option der Manpage überlesen:

-l depth
 --level=depth
 Specify recursion maximum depth level depth.  The default maximum
 depth is 5.

Zeigt mal wieder, dass man Manpages immer sehr gewissenhaft und gründlich lesen sollte, auch wenn ich mir einen Hinweis auf die Option -l gewünscht hätte. Um das ganze aber noch zu übertreffen fand ich natürlich noch die option -m die irgendwie genau das erreicht was ich wollte…

-m
 --mirror
 Turn on options suitable for mirroring.  This option turns on
 recursion and time-stamping, sets infinite recursion depth and
 keeps FTP directory listings.  It is currently equivalent to -r -N
 -l inf --no-remove-listing.

So entsteht eine neue wget Zeile:

wget -mq 'ftp://example.org'

Schon klappt auch das Update mit dem benachbarten Server 😉

Leave a Reply