pino
Goto Top

FTP Verzeichnis runterladen - bestimmte Dateieendungen ausschließen

Hallo.

Ich möchte ein FTP Verzeichniss runterladen und hierbei bestimmte Dateien ausschließen.
In meiner Situation ist dies das Verzeichnis ftp://ftp.gnu.org/pub/gnu/. Es sollen sämtliche Files mit den Endungen *.diff.gz, *.diff.gz.sig sowie *.tar.gz.sig ausgeschlossen werden um Zeit, Traffic und Bandbreite zu sparen. Bei "normalen" FTP Clienten habe ich keinerlei Optionen für ein solches Vorhaben gefunden.

Alternativ wär auch ein kopieren per http möglich. Allerdings ist die Seite nur mit Vezeichnissen aufgebaut und nicht per *.php, *.html o.ä. anhand dessen sich ein Programm die Links suchen könnte.

Content-Key: 83083

Url: https://administrator.de/contentid/83083

Printed on: April 19, 2024 at 06:04 o'clock

Member: theton
theton Mar 13, 2008 at 17:54:51 (UTC)
Goto Top
Einen passenden Client kann ich dir nicht empfehlen, aber bastel dir doch einfach ein Perl-Skript mit Net::FTP, das rekursiv durch die Ordner läuft und nur Dateien holt, wenn ihre Dateinamen keine der genannten Endungen enthalten.
Member: paulepank
paulepank Mar 13, 2008 at 21:48:21 (UTC)
Goto Top
Hallo,

du willst ein Verzeichnis spiegeln unter Ausschluß einiger Dateien.
Die paar *.sig-Dateien sind ca. 1K groß und die *diff.gz werden auch nicht so ins Gewicht fallen bei einem Gesamtvolumen des Verzeichnisse /pub/gnu von ca. 14 GIGAByte.
Das Anliegen Traffic und Zeit zu sparen ist einfach nur lächerlich, weil es in keinem Verhältnis zueinander steht.
Du wirst aber schon wissen, warum du das Verzeichnis lokal vorrätig brauchst.

Jetzt zu einer Lösung:

RSYNC ist generell die richtige Wahl.

In deinem Fall reicht auch WGET mit folgendem Syntax:
wget -c -R *.diff.gz,*.diff.gz.sig,*.tar.gz.sig -r -nH --retr-symlinks ftp://ftp.gnu.org/pub/gnu/
ausgeführt in einem Verzeichnis deiner Wahl.

Da du es nicht für nötig hältst, uns zu verraten unter welchen Betriebsystem das Ganze laufen soll, mußt du dir die WGET-Version selbst suchen.

cu paulepank
Member: theton
theton Mar 13, 2008 at 22:02:01 (UTC)
Goto Top
RSync kann soweit ich weiss nicht mit FTP umgehen. Zumindest hatte ich da schon vor einiger Zeit mit einigen Leuten vom Unixboard dran rumgegrübelt, aber keinen Weg gefunden. RSync braucht als Endpunkt eine Shell und die bietet FTP nunmal nicht.
Member: paulepank
paulepank Mar 13, 2008 at 23:55:06 (UTC)
Goto Top
Hallo,
RSync kann soweit ich weiss nicht mit FTP umgehen. Zumindest hatte ich da schon vor
einiger Zeit mit einigen Leuten vom Unixboard dran rumgegrübelt, aber keinen Weg gefunden.
Habe ich gelesen und ? (will keine Antwort)
RSync braucht als Endpunkt eine Shell und die bietet FTP nunmal nicht.

Unfug, auf einem FTP-Server muß ein rsyncd laufen. das wars.
Wenn du ein Beispiel brauchst wie man mit rsync Daten von einem FTP-Server holt siehe hier

Aber das ist Off-Topic für das Problem des Treaderstellers und ich werde mich dazu auch nicht weiter äußern.

cu paulepank
Member: Pino
Pino Mar 14, 2008 at 20:50:28 (UTC)
Goto Top
Endschuldigung, dass ich nicht dazu schrieb, für welches OS ich eine Lösung suche. Ist das ganze auch auch Windows umsetzbar? Ich ziehe Linux im Allgemeinen auch Windows vor. Allerdings habe ich zur Zeit keinerlei Möglichkeiten, um von der Linuxmaschine auf das Internet zuzugreifen, da meine UMTS Flat leider abgelaufen ist.

Zu der Größe: Wenn man siche einige Ordner anschaut, wird man feststellen, dass die *.tar.bz.diff bzw. die *.sigs einiges an Größe ausmachen können. Daher möchte ich diese ausschließen.
Member: paulepank
paulepank Mar 14, 2008 at 20:57:54 (UTC)
Goto Top
Ist das ganze auch auch Windows umsetzbar?

ich vermute, du hast inzwischen bestimmt schon die Begriffe WGET und WINDOWS in die Suchmaschine deiner Wahl eingegeben.

cu paulepank