Folgendes Problem: Auf einem ftp-Server befinden sich mehrere Dateien, zB aaa001.tgz aaa002.tgz aaa003.tgz usw. Runtergeladen soll die neueste dieser "aaa"-Dateien werden, wobei nicht automatisch die höchste Nummer die neueste ist. Kann man dies irgendwie mit einem Script realisieren? Al -- Infos zu Softwarepatenten: http://swpat.ffii.org/index.de.html http://petition.eurolinux.org/index.html?LANG=de
Hallo Al, * Al schrieb am 07.09.2003:
Folgendes Problem:
Auf einem ftp-Server befinden sich mehrere Dateien, zB
aaa001.tgz aaa002.tgz aaa003.tgz usw.
Runtergeladen soll die neueste dieser "aaa"-Dateien werden, wobei nicht automatisch die höchste Nummer die neueste ist.
Kann man dies irgendwie mit einem Script realisieren?
Lösung 1 ======== Ich würde das so machen: FILE=$(lftp ftp.kernel.org -e "cd /pub/linux/kernel/v2.4;cls -1 --sort=date *.tar.bz2;quit" | head -1) lftp ftp.kernel.org -e "cd /pub/linux/kernel/v2.4; get $FILE;quit" lftp ist mein allseits geschätzter und geliebter FTP-Client. Besser geht es in der Konsole kaum. Der FTP-Befehl cls liefert die Dateien im Kernelverzeichnis nach Datum sortiert, die jüngste steht dabei oben und die wird von head rausgefiltert. Und diese Datei wird vom zweiten Befehl geholt. Es gibt zwar bei lftp den Parameter -c, der das "quit" von selber macht, es funktioniert aber nicht. Lösung 2 ======== http://lufs.sourceforge.net/lufs/ + AutoFS. Mehr sag ich nicht! Kleines (eindrucksvolles) Beispiel: cd /mnt/autofs/ftp/ftp.kernel.org/pub/linux/kernel/v2.4 cp $(ls -1art *.tar.bz2 | tail -1) /Zielverzeichnis/ Grüße, Tom
Am Sonntag, 7. September 2003 21:12 schrieb Thomas Preissler:
Ich würde das so machen:
FILE=$(lftp ftp.kernel.org -e "cd /pub/linux/kernel/v2.4;cls -1 --sort=date *.tar.bz2;quit" | head -1)
FILE=$(lftp ftp.kernel.org -e "cd /pub/linux/kernel/v2.4;cls -1 --sort=date *.tar.bz2;quit" | head -1) Verzeichniswechsel OK, cwd=/pub/linux/kernel/v2.4 cls: ungültiges Argument für »--sort«. Ich habe es mal nur so über die bash probiert die neueste Datei abzufragen. Das klappt aber leider nicht so.
lftp ftp.kernel.org -e "cd /pub/linux/kernel/v2.4; get $FILE;quit"
Kannst du das bitte auch testen? Danke! Al -- Infos zu Softwarepatenten: http://swpat.ffii.org/index.de.html http://petition.eurolinux.org/index.html?LANG=de
Hallo Al, * Al schrieb am 09.09.2003:
Am Sonntag, 7. September 2003 21:12 schrieb Thomas Preissler:
Ich würde das so machen:
FILE=$(lftp ftp.kernel.org -e "cd /pub/linux/kernel/v2.4;cls -1 --sort=date *.tar.bz2;quit" | head -1)
FILE=$(lftp ftp.kernel.org -e "cd /pub/linux/kernel/v2.4;cls -1 --sort=date *.tar.bz2;quit" | head -1) Verzeichniswechsel OK, cwd=/pub/linux/kernel/v2.4 cls: ungültiges Argument für »--sort«.
Ich habe es mal nur so über die bash probiert die neueste Datei abzufragen. Das klappt aber leider nicht so.
lftp ftp.kernel.org -e "cd /pub/linux/kernel/v2.4; get $FILE;quit"
Kannst du das bitte auch testen? Danke!
Äh, dann liegt es an Deiner lftp-Version. Ich habe hier die Versionsnummer 2.6.5. Compiliert und installiert ist das Ding schnell. Grüße, Tom
participants (2)
-
Al Bogner
-
Thomas Preissler