FTP on demand
Das kennt man: wenn man von einem etwas weiter entfernten Server (womöglich aus Übersee) eine große Binärdatei holen will, wird die maximale Übertragungsrate nicht mehr richtig ausgenutzt - besonders bei ISDN passiert das schnell. Nun hat man sich keinen ISDN-Anschluß legen lassen, um dem Fernmeldeanbieter das Geld in den Rachen zu werfen, und außerdem benutzen wir das beste Betriebssystem der Welt :-) Und zumindestens Leute, die einen Uni-Zugang haben, und dort ein paar Unix-Befehle loswerden können, können hier tricksen.
provider:# nohup ftp -i ftp.leo.org & provider:# exit connection closed by foreign host. root:# _Das ganze dauert nicht mehr als ein paar Sekunden, eine Telefoneinheit wurde der guten Sache geopfert.
Allerdings muß man etwas Vorarbeit leisten, denn ftp ist ein interaktives Programm, welches zur Arbeit eine ganze Menge Informationen benötigt (zum Bleistift, was es denn holen soll). Die Interaktivität kann man ihm abgewöhnen, dafür ist die Option "-i" da. Die Informationen muß man trotzdem übergeben, und das kann man, indem man eine Datei .netrc beim Provider hinterlegt, in dem alles das drinsteht, was ftp tun soll. (Gibt man als Option "-n" an, wird diese Datei nicht beachtet!)
So könnte die Datei .netrc aussehen, wenn man sich beispielsweise den Kernel 2.0.7 (immerhin mehr als 5 Megabyte!) vom Server bei LEO.ORG holen will:
provider:~/.netrc machine ftp.leo.org login anonymous password <eigene@email.adresse> macdef init lcd /usr/src cd /pub/comp/os/linux/Linus/v2.0 bin get linux-2.0.7.tar.gz close quitSo kann man sich für jeden Server einen Eintrag machen. Diese Datei muß vor dem nohup ftp im Heimatverzeichnis beim Provider abgelegt werden. Eine Stunde später kann man sich den Kernel mit Höchstgeschwindigkeit beim Provider abholen. Schön, gell?
... Aber daran arbeite ich noch - laßt Euch überraschen!
Ich hatte bisher keine Zeit für weitere Forschungen - aber einige Leute haben mir geschrieben.
Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de> schrieb:
Hallo, zu "FTP on Demand " solltest Du auf "ncftp" verweisen. Ich oeffne mit "nohup ncftp" das Programm, oeffne den Server, denn ich brauchte, waehle mit "Tab"-Expansion das File aus, das ich will, starte den Download. Ein CTRL-Z und "bg" bringen den Download in den Hintergrund und mich auf die Kommandozeile, so das ich den Connect beenden kann.
Gunnar Larisch <Gunnar.Larisch@lpr.e-technik.tu-muenchen.de> schrieb:
anscheinend hast Du auch ISDN, da Du so schöne Anleitungen geschrieben hast. Ich hab da paar schöne Skripten, die Dich vielleicht interessieren. getme <Server> <Dir> <File> Per cron muss dann noch cronftp gestartet werden. Am nächsten Tag kannst Du Dir Dein File abholen. getfrom ist vielleicht auch ganz nützlich. -----------getme-------------- #!/usr/local/bin/bash # Parameters: Server Path File(s) FTPFILE="/tmp/.$UID.ftpjobs" echo Server : $1 echo Dir : $2 echo "File : $3" echo Jobfile: $FTPFILE touch $FTPFILE echo lcd ~/tmp/ftpjobs >>$FTPFILE echo open $1 >>$FTPFILE echo user anonymous t8231ah@sunmail.lrz-muenchen.de >>$FTPFILE echo bin >>$FTPFILE echo "cd $2" >>$FTPFILE echo "mget $3" >>$FTPFILE echo close >>$FTPFILE ------------------------------- ---------getfrom--------------- echo Hole $2 von $1... echo ftp -i $1 >>~/tmp/ftpjob echo bin >>~/TMP/ftpjob echo cd $2 >>~/tmp/ftpjob ------------------------------- ---------cronftp-------------- #!/usr/local/bin/bash FTPFILE="/tmp/.$UID.ftpjobs" NEWFTPFILE="/tmp/.bgjob_$UID_$RANDOM" mkdir ~/tmp/ftpjobs echo Using $FTPFILE... as $NEWFTPFILE mv $FTPFILE $NEWFTPFILE nohup ftp -in >$NEWFTPFILE & ------------------------------------- Ciao Gunnar
Siggi Thoma <sthoma@twilight.rhein-neckar.de> schrieb:
Hast Du diesbezüglich mal von FTPMAIL gehört? Vielleicht erfüllt das auch den gewünschten Zweck und ein bißchen einfacher. Schreib mal mail an ftpmail@ftp.uni-stuttgart.de subject HELP body: help quit --------------- Dieser Server der da an der Uni läuft ermöglicht es beliebige Dateien von jedem ftp-archive auf der Welt nach Stuttgart zu holen. Von dort sendet Dir der FTPMAIL-Server die Datei uuencoded als email zu. Von Stuttgart aus als EMAIL. Da fällt also nur die Übertragungsgeschwindigkeit zu Deinem Provider ins Spiel. Genauere Beschreibungen gibts überall im Netz. Such mal in Yahoo oder Altavista unter FTPMAIL. Tschau Siggi