Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

FTP Upload und Datei ausfuehren

Frage Internet Server

Mitglied: L-UniX

L-UniX (Level 1) - Jetzt verbinden

07.08.2009, aktualisiert 12:01 Uhr, 8821 Aufrufe, 6 Kommentare

Hallo Leute,

ich habe ein kleines Problem. Per FTP soll eine Verbindung zu einem Server aufgebaut werden. Von dem Server muessen dann bestimmte Dateien geholt werden. Soweit nicht schwer, allerdings muss ich auf dem Server einige Abfragen starten, z.B. ob der Ordner existiert oder ob eine Datei in diesem Ordner liegt. Ich verstehe nicht wie ich das realisieren soll, sofern es moeglich ist.

Ich habe ein Batch-Script gebastelt (es handelt sich um einen Windows Server 2003), um den Aufbau einer FTP-Verbindung zu dem Server zu realisieren.
Nur wie schaffe ich es ein Shell-Script auszufuehren. waehrend dieser FTP-Verbindung?

Unter Linux wuerde ich einen SSH-Connect machen oder die Befehle per SSH absetzen, bei Windows bin ich allerdings ratlos....


Ich hoffe ihr koennt mir bei dem Problem helfen.
Mitglied: 60730
07.08.2009 um 12:12 Uhr
Servus,
Zitat von L-UniX:
Ich habe ein Batch-Script gebastelt (es handelt sich um einen Windows
Server 2003), um den Aufbau einer FTP-Verbindung zu dem Server zu
realisieren.

Ok - und kannst du dieses Script - zum besseren helfen hier in Code Blöcke posten?

Nur wie schaffe ich es ein Shell-Script auszufuehren. waehrend dieser
FTP-Verbindung?
gar nicht, aber ftp beherrscht auch den Befehl ls...

Ich hoffe ihr koennt mir bei dem Problem helfen.

Naja - ich hab so scripte hier schon des öfteren geschrieben - sollte eigentlich auffindbar sein - aber weils eh in meinem Scriptordner liegt..

:starter.cmd
01.
ftp -s:C:\script\ftp\connect.txt >C:\script\ftp\ftp.log 
02.
find "verzeichnis" "C:\script\ftp\ftp.log" && echo "verzeichnis da"
:connect.txt
01.
open ftserverip 
02.
user 
03.
passwd 
04.
bin 
05.
ls 
06.
quit
Das mußt du nur für deine Zwecke anpassen und mal nach den anderen Threads suchen, die es zu dem Thema gibt.

Gruß
Bitte warten ..
Mitglied: L-UniX
07.08.2009 um 12:31 Uhr
Hallo,

erstmal danke fuer deine schnelle Hilfe.

Mein Script sah bisher so aus:

echo off
set ftp=<IP-Adresse>
ftp open %ftp%

Also nicht gerade weit, da ich mich erstmal mit der Planung beschaeftigt habe.


Das heißt ich muesste mir erstmal die komplette Struktur vom ftp holen,
auswerten lokal und das fuer jede Datei die ich benoetige....

Omg ;) Das sind 8 Server wird eine schoene Spielerei....


Sollte ich das binnen der naechsten Tage hinbekommen,
dann schmeiss ich das Script hier rein.

Gruß und Danke nochmals.
Bitte warten ..
Mitglied: 60730
07.08.2009 um 12:38 Uhr
Servus,

Omg ;) Das sind 8 Server wird eine schoene Spielerei....

Nöö - das ist einmal alles durchplanen

Schreib doch mal lieber detailiert, was du genau vorhast.
Du kannst ja nicht nur das FTP Verzeichnis auslesen (ls), sondern mit dir auch das lokale und die beiden mittels einer Schleife gegeneinander auszuwerten, ist dann ja auch nicht "sooo" das Dingens

"So" wie ich es skizziert habe - geht es - aber laufen ist ja etwas schneller und sieht IMHO auch schöner aus

Kennst du wget und wput?

Wenn du nicht auf Winblows Boardmittel angewiesen bist, dann macht das deutlich mehr Spass mit diesen beiden Tools

Gruß
Bitte warten ..
Mitglied: L-UniX
08.08.2009 um 22:09 Uhr
Hallo Timo,

also die Herausforderung ist folgende.

Auf 7 verschiedenen Servern werden sog. CDR-Dateien gelagert, allerdings sind dies Server von verschiedenen Anbietern und ich habe lediglich einen FTP-Zugang um dort manuell die Verzeichnisse einzusehen und dann die Dateien herunterzuladen. Weiterhin ist der Server (von dem aus die Verbindung erfolgt) ein Windows Server 2003. Deshalb hatte ich mir nun einige Gedanken gemacht um diese Herausforderung zu loesen:

- eine Batchdatei fuer jeden Server erstellen, um die CDR-Dateien per FTP zu bekommen
- eine Master-Batch startet die sieben Batchdateien abwechselnd per Taskplaner
- in einer TXT werden die Befehle fuer den FTP-Server gespeichert und dann per FTP -s ausgefuehrt
- nachdem zum Beispiel die Verzeichnisstruktur unterhalb von /jobout ausgelesen wurde, wird diese in eine Logdatei geschrieben und per findstr / find wird dann diese durchsucht und per if errorlevel 1 / 0 eine Abfrage auf ein Wort bzw. einen String innerhalb des Logfiles abgefragt
- bei Erfolg wird das Verzeichnis /cdr auf dem FTP ausgelesen und wieder in die Logdatei geschrieben
- es wird dann im Batchscript noch einmal auf einen String cdr.gz im Logfile gesucht bzw. abgeprueft und bei Erfolg dann die cdr-Dateien aus /cdr und und die Datei aus /jobout per FTP heruntergeladen

Soweit meine Ueberlegungen ;)

Gruß Steven

PS: Sorry dafuer, dass ich keine Umlaute verwende, aber ich habs mir im Bereich der IT abgewoehnt.... Und wget bzw. wput kenne ich, habe allerdings kein Linux zur Verfuegung
Bitte warten ..
Mitglied: L-UniX
09.08.2009 um 15:23 Uhr
Hallo,

ich hab jetzt zumindest eine lauffaehige Version hinbekommen... zumindest um erstmal die beiden Verzeichnisse auf Dateien abzupruefen.

Meine connect.txt:
open <ip-vom-ftp>
<loginuser>
<pw-vom-user>
dir /jobout/
dir /cdr/
quit

Meine ftp.bat:
@echo off
ftp.exe -s:C:\scripts\autorating\connect.txt > C:\scripts\autorating\connect.log
find /i "cdr.job" "C:\scripts\autorating\connect.log" >nul
if errorlevel 1 (
echo "job-Datei wurde nicht auf dem FTP-Server gefunden!"
) else (
echo "job-Datei wurde auf dem FTP-Server gefunden!"
)
find /i "cdr.gz" "C:\scripts\autorating\connect.log" >nul
if errorlevel 1 (
echo "cdr-Datei wurde nicht auf dem FTP-Server gefunden!"
) else (
echo "cdr-Datei wurde auf dem FTP-Server gefunden!"
)
REM if exist C:\scripts\logs do MOVE C:\scripts\autorating\log.txt C:\scripts\logs\log_%date%.txt else mkdir C:\scripts\logs\ && MOVE C:\scripts\autorating\log.txt C:\scripts\logs\log_%date%.txt
pause

Die ftp.bat ist natuerlich erstmal nur eine lauffaehige Version zum testen, ich wuerde gerne mit einer FOR-Schleife arbeiten um die Logdatei mit nur einer Abfrage nach meinen benoetigten Werten / Dateien zu durchsuchen. Ich werde naechste Woche noch etwas weitertuefteln. ;)

Gruß Steven
Bitte warten ..
Mitglied: 60730
13.08.2009 um 20:14 Uhr
Servus,
Zitat von L-UniX:
Und wget bzw. wput kenne ich, habe allerdings kein Linux zur Verfuegung
http://gnuwin32.sourceforge.net/packages/wget.htm
http://wput.sourceforge.net/

Offensichtlich kennst du von Wget und Wput nur die eine hälfte

Ps: auch wenns dir "geht" - ich würde aus Prinzip lieber ls nehmen

Und was ich mit dem "planen" meinte - ich würde die 8 FTP Server "verparametrisieren" und mit einem Script alleine den ganzen "Hokuspukus" veranstalten

Gruß
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell FTP-Upload schlägt fehl (2)

Frage von Johnny-CGN zum Thema Batch & Shell ...

Webentwicklung
HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...