Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP-Upload mit einem Befehl
Hallo,
ich suche ein FTP Client, mit dem ich über einen shell-script eine Datei auf einen http-server laden kann. Bei dem Programm ftp muss man ja immer das Passwort selber eingeben, man kann nicht mit user:passwort@host connecten.
Hätte jemand ne Idee, wie ich mit einem Script eine Datei automatisch raufladen kann?
Danke!
Der Untergeher
30.06.05, 16:51
...suche ein FTP Client...Datei auf einen http-server laden kann ...
Hi,
dann sollte auf der Maschine aber auch ein ftp-server laufen (ich nehmen mal an das ist so).
-u url file
Upload files on the command line to url
wenn Du noch kompliziertere Sachen vor hast: man kann jedes Programm mit Komandozeileninterface über "expect" fernsteuern.
Grüße
Untergeher
Ja klar läuft ein FTP, ist ein ganz normaler Webseiten Server.
Also das mit dem Upload mag ja funktionieren, hab ich noch nicht ausprobiert. Aber was ich will, ist, dass man bloß das Script ausführen muss und dann die Datei auf den Server geladen wird. Was genau meinst du mit dem expect? Ist das ein bash Befehl?
Einfach mal mit den Programmen ftp und wenns ein wenig anspruchsvoller sein soll, lftp beschäftigen.
Mit beiden ist automatischer upload problemlos möglich, wobei lftp wesentlich flexibler und optionsreicher ist.
An ftp kann man z.b. gar keine userdaten übergeben, nicht so super.
Der Untergeher
30.06.05, 18:07
Hmm, folgendes Skript tut bei mir genau das was Du beschrieben hast - einfach die Datei hochladen.
#!/bin/bash
ftp -u ftp://pegasus:pegasus_ihm_sein_password@ftpserver.de/ $1
(aufruf durch skript.sh datei) Oder raff ich nicht was Du willst?
Zu expect: ja das ist ein Befehl, für deine Zwecke (wenns wirklich nur um den einen upload geht) aber wohl unnötig kompliziert - bei Interesse "man expect" oder SuFu.
ftp nimmt die option -u nicht an. mach das jetzt mit lftp, damit gehts.
An ftp kann man z.b. gar keine userdaten übergeben, nicht so super.
man ftp
user user-name [password] [account]
Identify yourself to the remote FTP server.
! [command [args]]
Invoke an interactive shell on the local machine.
Immer diese lügenden manpages.
lftp - i love it!
Das musste mal gesagt werden.
Der Untergeher
30.06.05, 18:37
ftp nimmt die option -u nicht an. mach das jetzt mit lftp, damit gehts.
Das is ja man putzig :ugly:. Woher kommt denn Dein ftp - also aus welcher Distribution?
edit: Da gab's noch was ich hab's gewusst und nu is es mir auch wieder eingefallen: ncftpput
linuxazubi
30.06.05, 18:39
also ich treibe es täglich ,
manchmal sogar mehrmals
mit lftp. :cool: :cool:
Das is ja man putzig :ugly:. Woher kommt denn Dein ftp - also aus welcher Distribution?
edit: Da gab's noch was ich hab's gewusst und nu is es mir auch wieder eingefallen: ncftpput
Gentoo!!
ftp -u user
ftp: u: unknown option
Is halt so, habs mit lftp nun aber hinbekommen.
D-Generated
01.07.05, 13:04
lukemftp (eigentlich netbsd, gibts aber auch für linux) kann das auch
Was du suchst, ist die Datei ~/.netrc (->man netrc). Darin kannst du Benutzernamen und Passwörter für ftp-sites hinterlegen. Das sieht dann in etwa so aus:
[ je@cthulhu] ~ (1,5G free) % cat .netrc
machine localhost
login ftpuser
password sicheristsicher *)
Der Befehl "ftp" weiss dann automatisch, welchen Namen/Pass er bei "ftp localhost" nehmen muss.
MiGo
*)echtes Passwort ist der Redaktion bekannt
ncftp
ncftp hat extra programme fuer die verwendung in shellscripten:
-> ncftpput
-> ncftpget
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.