PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP Automatisierung mit Batch + ncftp



felix_131090
09.06.2009, 19:27
Hallo,

da es mir zu viel aufwand ist meine Website immer manuell (FTP Programm auf, rumklicken etc...) zu aktualisieren, wollte ich das ganze Automatisieren.
Ich habe eine Batch datei, sieht wie folgt aus:

ncftp -s:example.ncftp

Und dann noch die datei example.ncftp wo drinn steht was passieren soll:

open -u **** -p **** ****
cd example
mput c:/moves/www/Ordner/*.*
cd ..
cd About_PV
mput c:/moves/www/Ordner/About_PV/*.*
cd ..
cd About_PV-Investment
mput c:/moves/www/Ordner/About_PV-Investment/*.*
cd ..
cd Einfuehrung_in_die_PV-1_archivos
mput c:/moves/www/Ordner/blabla/*.*
cd ..
cd gastbuch
mput c:/moves/www/Ordner/gastbuch/*.*
cd captcha
mput c:/moves/www/Ordner/gastbuch/captcha/*.*
cd ..
cd eintraege
mput c:/moves/www/Ordner/gastbuch/eintraege/*.*
cd ..
cd ..
cd graphics
mput c:/moves/www/Ordner/graphics/*.*
cd ..
cd "Grundlagen Solarzelle"
mput c:/moves/www/Ordner/"blabla"/*.*
cd ..
cd Images
mput c:/moves/www/Ordner/Images/*.*

close


Ich habe jetzt folgendes Problem, wenn ich die Batch Datei ausführen will macht er mit kurz die Eingabeaufforderung auf und wieder zu, aber auf dem Server tut sich nichts.

Weiss vllt jemand weiter???

Greetz felix

nkler
09.06.2009, 19:58
Ich bin mir nicht ganz sicher aber ich glaube das muss immer heißen

ftp open
ftp mput
ftp close

oder öffne die datei doch mal mit der eingabe aufforderung, dann siehst du ja die fehlermeldungen

felix_131090
09.06.2009, 20:16
Bevor ich die Kommandos alle geschrieben hatte habe ich sie ausprobiert mit der Eingabeaufforderung, und alle haben funktioniert.

Wenn ich versuche die Datei (example.ncftp) mit der Eingabeaufforderung zu öffnen kommt nur das typische fenster "Öffnen mit..."

luky37
09.06.2009, 20:45
starte erst die Eingabeaufforderung und tippe darin den Befehl ein (oder führe die Batch darin aus).


Dann siehst du eventuelle Fehlermeldungen da die Eingabeaufforderung nach dem ausführen nicht mehr beendet wird.

Mike Lowrey
09.06.2009, 20:53
Oder setz an das Ende der Batch ein "pause".

felix_131090
10.06.2009, 21:54
starte erst die Eingabeaufforderung und tippe darin den Befehl ein (oder führe die Batch darin aus).


Dann siehst du eventuelle Fehlermeldungen da die Eingabeaufforderung nach dem ausführen nicht mehr beendet wird.


Bevor ich die Kommandos alle geschrieben hatte habe ich sie ausprobiert mit der Eingabeaufforderung, und alle haben funktioniert.

Hatte ich schon gemacht.

luky37
10.06.2009, 22:18
Dann mache es nochmal.

felix_131090
10.06.2009, 22:21
Wenn ich das hier eingebe im CMD "ncftp -s:example.ncftp" dann bringt er mir die Help.

Der Batch ist glaub ich falsch geschrieben. Weiss einer wie das Kommando bei ncftp ist um einen Script auszufuehren? Die example.ncftp ist doch ein Script oder?

Wenn ich das ganze mit ftp mache "ftp -s:example.ncftp", dann macht er garnix, also er versucht schon den Script auszufuehren, aber das ist ja kein ftp Script sonder ncftp.

Gruß felix

luky37
10.06.2009, 22:30
Lies dir doch die angezeigte Hilfe von ncftp durch...


-s:file ist ein Befehle von MS' ftp.exe, wie kommst du darauf, dass das bei ncftp funktioniert?


Versuch lieber mal mit ncftpbatch (http://www.ncftp.com/ncftp/doc/ncftpbatch.html).

felix_131090
11.06.2009, 18:18
Die angezeigte Hilfe von ncftp bringt mich nicht weiter, zeigt mir nur alle Kommandos an.

Ich habe in MS eingegeben ncftp> -s:example.ncftp "Enter" No such command

luky37
11.06.2009, 18:56
Natürlich bringt es dich nicht weiter, weil es mit ncftp nicht möglich ist. Du kannst doch nicht annehmen, das bestimmte Features einfach funktionieren und dich dann wundern warum es nicht klappt.


Ich habe in meinem letzten Post schon geschrieben was zu tun ist.

felix_131090
11.06.2009, 21:29
Hallo Lucky

Du hast geschrieben was zu tun ist... aber ich weiß noch nichtmal wie ich ncftpbatch verwenden soll.

luky37
11.06.2009, 21:36
Vielleicht solltest du die besser WinSCP (http://winscp.net/eng/docs/guide_automation) anschauen, dass ist vielleicht etwas besser dokumentiert.

felix_131090
11.06.2009, 22:39
Etwas besser schon... aber ich bin trotzdem am verzweifeln :(:(:(:(:(:(:(:(

Habe eine .bat datei mit dem Inhalt:

@echo off
winscp.com /script=example.txt

Meine frage jetzt in welchem ordner fuehrt er das ueberhaupt aus?
Ich gehe davon aus das er nach der "example.txt" in dem gleichem Ordner sucht wie dort wo sich die .bat befindet.


open ftp://user:pw@domain.de
option transfer
cd example
put c:/moves/www/x/*.*
cd ..
cd About_PV
put c:/moves/www/x/About_PV/*.*
cd ..
cd About_PV-Investment
put c:/moves/www/x/About_PV-Investment/*.*
cd ..
cd Einfuehrung_in_die_PV-1_archivos
put c:/moves/www/x/Einfuehrung_in_die_PV-1_archivos/*.*
cd ..
cd gastbuch
put c:/moves/www/x/gastbuch/*.*
cd captcha
put c:/moves/www/x/gastbuch/captcha/*.*
cd ..
cd eintraege
put c:/moves/www/x/gastbuch/eintraege/*.*
cd ..
cd ..
cd graphics
put c:/moves/www/x/graphics/*.*
cd ..
cd "Grundlagen x"
put c:/moves/www/x/"Grundlagen x"/*.*
cd ..
cd Images
put c:/moves/www/x/Images/*.*

exit

luky37
11.06.2009, 22:43
Das hängt davon ob, wie du die Batch startest und wie deine Batch aussieht.

felix_131090
12.06.2009, 10:12
So sieht meine Batch Datei aus:




Habe eine .bat datei mit dem Inhalt:






Gruß Felix