Top-Themen

Aktuelle Themen (A bis Z)

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

Dateien auf dem FTP Server prüfen

Mitglied: batimbus

batimbus (Level 1) - Jetzt verbinden

11.10.2011 um 16:20 Uhr, 5611 Aufrufe, 10 Kommentare

Hallo,

ich bin neu hier, habe aber dennoch keine Lösung für mein Problem im Forum oder im Internet gefunden, weiß gar nicht ob es möglich ist.

Ich suche nach einer Möglichkeit, Dateien automatisch direkt auf einem FTP-Server zu überprüfen ohne diese erst runterladen zu müssen.
Geprüft werden soll ob z.B. eine bestimmte Datei zu einen bestimmten Zeitpunkt vorhanden ist und welche Dateigröße diese hat.
Wenn die Datei nicht vorhanden ist, soll z.B. eine email an mich verschickt werden.

Bisher habe ich nur Programme gefunden, die entweder die Dateien downloaden und diese dann prüfen können oder aber nur Dateien synchronisieren.
Ich habe auch nicht dagegen dies über eine Batchdatei zu lösen, nur leider bin ich da nicht so erfahren.

Vielleicht weiß ja jemand so ein Programm oder kann mir Tipps geben, wie ich so etwas machen kann.
Anbei ein paar Daten:


System auf dem das Programm laufen soll: Windows Server 2008.
FTP-Server auf dem die Daten zu prüfen sind ist: Xlight FTP oder Microsoft IIS Server.
Zugriff auf den FTP nur via IP möglich (steht nicht im gleichen Netzwerk).

Software soll als permanenter Task laufen und Daten prüfen
geprüft werden soll z.B.:

Datei auf vorhanden sein --> wenn nein Email senden
Dateigröße --> wenn zu klein, Email senden


Wäre super, wenn jemand eine Lösung kennt.
Wenn ihr noch Infos von mir benötigt, sagt es einfach.

gruss

Batimbus
Mitglied: TheDarkLord
11.10.2011 um 18:25 Uhr
Gude,

ganz kurz nur zum Dateien überprüfen:
Versuch es doch mal mit NetDrive, ein Programm, welches einen FTP Server direkt als Netzlaufwerk im System einbindet, wo man also auch ganz normal mit den Dateien arbeiten kann, als wäre es ein lokaler Ordner. Das Programm kann man so einrichten, dass es bei Windowsstart mit gestartet wird und man kann auch eine FTP Verbindung beim Programmstart automatisch gleich einbinden lassen.
Ich benutze NetDrive immer, wenn ich auf nem FTP Server arbeiten muss, da ich dort wie schon erwähnt ganz normal sämtliche Dateioperationen ausführen kann wie Rechtsklick -> Neu oder kopieren, verschieben, umbenennen, editieren etc pp.

Ist das realisiert, kannst Du z.B. per Batch nach dem Motto "if exist X:\Datei.xxx do ..." Deine Prüfroutinen ausführen lassen.
Falls Du mit der Batch noch Schwierigkeiten haben solltest, meld Dich einfach mal. Ich kann Dir da bestimmt weiter helfen bzw. bastla, der Batch Guru schlechthin springt ja auch hier irgendwo herum

Gruß
Dark
Bitte warten ..
Mitglied: TheDarkLord
11.10.2011 um 18:27 Uhr
Nachtrag:

Die Batch kannst Du dann natürlich per Task in einem bestimmten Rythmus ausführen lassen. Rythmus, Rhytmus, Rhythmus? Ich hasse dieses Wort xD
Bitte warten ..
Mitglied: Arano
11.10.2011 um 20:38 Uhr
Hallo

ich MUSS jetzt auch noch meinen Beitrag dazu los werden...

Mein Plan war es, __ganz einfach__ mit der Batchdatei und der ftp.exe die Verzeichnisliste vom FTP-Server zu holen und in dieser dann die zu "Überwachende" Datei und die Größenangabe heraus zu filtern.
Jaja... "gaaanz einfach" : die ftp.exe hat da so ein paar "Einschränkungen".

Dummerweise konnte ich nicht davon ablassen selber tätig zu werden,
darum habe ich mich der psftp.exe (Putty-FTP-Client) bedient: Putty Download Page (und psftp) - denn irgendwie muss das doch gehen

01.
@echo off
02.

03.
REM Infos zur überwachten Datei
04.
set "FILE=readme.txt"
05.
set "SIZE=626"
06.
REM Benutzerdaten zum FTP-Server
07.
set "FTP_SERVER=192.0.0.180"
08.
set "FTP_USER=benutzername"
09.
set "FTP_PASS=******"
10.

11.
REM Logdatei zum speichern der "FTP-Verzeichnisliste"
12.
REM Mein FTP-Server listet so auf:
13.
REM -rw-r--r--    1 arano    arano         626 Mar 12  2006 readme.txt
14.
REM Token-5 = Bytes
15.
REM Token-9 = Dateiname
16.
set "LOG=batch-ftp.log"
17.
REM Datei in die die FTP-Komandos "zwischengespeichert" werden
18.
set "CMDS=ftp-commands.cmd"
19.
REM Lösche eventuelle "überbleibsel"
20.
if exist %LOG% del %LOG%
21.
if exist %CMDS% del %CMDS%
22.

23.
REM Erstelle Temporäre FTP-Kommando-Datei
24.
>>%CMDS% echo ls
25.
REM FTP-Aktionen in Logdatei umleiten
26.
>>%LOG% psftp.exe -b %CMDS% -l %FTP_USER% -pw %FTP_PASS% %FTP_SERVER%
27.
REM Lösche FTP-Kommando-Datei
28.
del %CMDS%
29.

30.
REM Suche in der Logdatei nach der Datei und überprüfe sie
31.
for /F "tokens=5,9" %%i IN ('findstr "%FILE%" %LOG%') DO (
32.
  echo Datei %%j gefunden, teste Groesse %%i ^>= %SIZE%
33.
  if %%i GEQ %SIZE% (
34.
    echo Groesse OK
35.
  ) else (
36.
    echo zu klein !!
37.
    goto send_mail
38.
  )
39.
  set "found=true"
40.
)
41.

42.
REM wenn %found% nicht "true" ist, wurde Datei nicht gefunden
43.
if not "%found%"=="true" (
44.
  echo Datei %FILE% existiert nicht
45.
  goto send_mail
46.
)
47.

48.

49.
REM wenn das Programm bi hier her durch läuft,
50.
REM war wohl alles in Ordnung.
51.
REM "überspringe" E-Mail versand !
52.
goto ende
53.

54.

55.
REM wird hierher gesprungen, gab es eine Differenz,
56.
REM benachrichtige den Admin
57.
:send_mail
58.
echo Sende E-Mails an Admin (verwende blat.exe)
59.

60.

61.
:ende
62.
REM Programmende, lösche Verzeichnisliste
63.
del %LOG%
64.

65.

66.
pause
Tja, das müsstest du dann noch etwas an die Ausgabe des FTP-Servers (Verzeichnisliste) anpassen.
ACHTUNG: Das Passwort und der Benutzername zum FTP-Account stehen in der Datei (Leserechte nur für Admins einstellen) !
Auch dieses, wie TheDarkLord schon vorschlug, mit den Tasks im gewünschtem Rhythmus ausführen lassen.


~Arano

...und dabei wollte ich eigentlich etwas anders machen...
Bitte warten ..
Mitglied: TheDarkLord
11.10.2011 um 20:46 Uhr
Zitat von Arano:
Auch dieses, wie TheDarkLord schon vorschlug, mit den Tasks im gewünschtem Rhythmus ausführen lassen.

Danke für die Richtigstellung

PS: Dein letzter Satz "Dabei wollte ich eigentlich etwas anderes machen" wird übrigens in Deinem Beitrag nicht angezeigt...
Bitte warten ..
Mitglied: Arano
11.10.2011 um 21:04 Uhr
Hey,

Danke für die Richtigstellung face-smile
Naja, also... ich war mir wegen der Rechtschreibung ziemlich sicher, hab es dann aber doch nachgeschlagen face-smile

PS: Dein letzter Satz "Dabei wol... ... hen" wird übrigens in Deinem Beitrag nicht angezeigt...
Öhm... und warum kann ich den Lesen (sowohl ein-, als auch ausgeloggt) und du ebenfalls ?


~Arano
Bitte warten ..
Mitglied: Friemler
11.10.2011 um 21:04 Uhr
Hallo batimbus,

hier gibt's dann noch meinen Senf dazu:
01.
@echo off & setlocal
02.

03.

04.
set "FileList="test1.txt" "test2.txt" "test3.txt""
05.
set "FileSizes=28537 1459 3469"
06.

07.
set "FTPServer=DerFTPServer"
08.
set "FTPUser=FTPUsername"
09.
set "FTPPass=FTPPasswort"
10.

11.

12.
set "FTPScript=%Temp%\FTPScript.txt"
13.

14.
> "%FTPScript%" echo open %FTPServer%
15.
>>"%FTPScript%" echo user %FTPUser% %FTPPass%
16.
>>"%FTPScript%" echo ascii
17.
>>"%FTPScript%" echo ls -l
18.
>>"%FTPScript%" echo bye
19.

20.
for /f "tokens=5,8*" %%a in ('ftp -n -v -s:"%FTPScript%" ^| findstr /v "^ftp> ^bye ^d"') do (
21.
  call :ProcessFileName "%%c" %%a
22.
)
23.

24.
for %%f in (%FileList%) do (
25.
  if %%f neq "" call :FileNotFound %%f
26.
)
27.

28.
del "%FTPScript%"
29.
exit /b
30.

31.

32.

33.
:ProcessFileName
34.
  set "FileName=%1"
35.
  set /a Idx=1
36.

37.
  for %%f in (%FileList%) do (
38.
    if %%f equ %FileName% (
39.
      call :CheckFileSize %FileName% %2
40.
      call set "FileList=%%FileList:%%~f=%%"
41.
    )
42.
    set /a Idx+=1
43.
  )
44.
exit /b
45.

46.

47.
:CheckFileSize
48.
  for /f "tokens=%Idx%" %%s in ("%FileSizes%") do (
49.
    if %%s neq %2 call :FileSizeWrong %1 %2
50.
  )
51.
exit /b
52.

53.

54.
:FileSizeWrong
55.
  echo Dateigröße falsch: %1 %2 Bytes
56.
  rem Hier ein BLAT-Aufruf
57.
exit /b
58.

59.

60.
:FileNotFound
61.
  echo Datei nicht gefunden: %1
62.
  rem Hier ein BLAT-Aufruf
63.
exit /b
Das Script verwendet den FTP-Befehl von Windows. Verzeichnisnamen im Listing des FTP-Servers werden nicht berücksichtigt und man kann nicht nur eine Datei und ihre Größe angeben sondern mehrere (die auch Leerzeichen im Namen enthalten können). In den Zeilen 4 und 5 werden diese Listen zusammengebaut. Die Reihenfolge von Namen und Dateigrößen in den beiden Listen muss miteinander korrespondieren. Die Dateinamen MÜSSEN AUCH WENN SIE KEINE LEERZEICHEN ENTHALTEN jeder für sich in Anführungszeichen eingeschlossen werden.

Wie TheDarkLord schon schrieb, lässt man das Script am besten als geplanten Task ausführen. Batchscripte, die die ganze Zeit im Hintergrund laufen, verursachen eine zu hohe Prozessorlast

Gruß
Friemler
Bitte warten ..
Mitglied: TheDarkLord
11.10.2011 um 21:07 Uhr
Zitat von Arano:
Hey,

> Danke für die Richtigstellung face-smile
Naja, also... ich war mir wegen der Rechtschreibung ziemlich sicher, hab es dann aber doch nachgeschlagen face-smile

> PS: Dein letzter Satz "Dabei wol... ... hen" wird übrigens in Deinem Beitrag nicht angezeigt...
Öhm... und warum kann ich den Lesen (sowohl ein-, als auch ausgeloggt) und du ebenfalls ?


~Arano

Hmm das frage ich mich gerade auch, eben war das nicht da... kurios
Bitte warten ..
Mitglied: Arano
11.10.2011 um 21:38 Uhr
Huhu,

Friemlers Senf schmeckt besser und sauberer ist er auch !

Bei mir funktioniert es / was nicht... könnte an der VM liegen... jedenfalls ist das der Grund warum ich dann psftp.exe verwendet habe.
01.
C:\DuE\Arano>ftp -n -v
02.
ftp> open 192.168.178.180
03.
ftp> user arano
04.
Kennwort: ******
05.
ftp> pwd
06.
257 "/home/arano" is the current directory
07.
ftp> ls -l
08.
Illegal PORT command
09.
ftp> pwd
10.
257 "/home/arano" is the current directory
11.
ftp>
Nach der Ausgabe von "Illegal PORT command" dauert es eine Weile und erst dann springt er einen weiter und lässt sich weiter befehlen.
FTP-Server Log dazu:
Okt 11 21:28:30 proftpd[4625] : FTP session opened.
Okt 11 21:28:37 proftpd[4625] : USER arano: Login successful.
Okt 11 21:28:45 proftpd[4625] : Refused PORT 10,0,2,15,19,140 (address mismatch)

Meinte das läge an einer fehlenden PASV-Mode unterstützung.
Wobei... wenn es mit psftp funktioniert, dann kann es wiederum ja nicht an der VM gelegen haben...


~Arano

Edit:
Falls jemand wegen den IP unterschieden fragen möchte: 10.0.2.15 ist das WinXP in der virtuellen Maschine (VirtualBox)
Probiere ich das gleich mit 10.0.2.2 als FTP-Server, geschieht leider das gleiche, daran liegt es also auch nicht.
Bitte warten ..
Mitglied: batimbus
12.10.2011 um 09:25 Uhr
Hey Leute,

danke erst einmal für die schnellen Antworten. Hätte ja nicht gedacht, das es gleich so viele sind.
Ich werde das jetzt mal ausprobieren und euch berichten.

~ batimbus
Bitte warten ..
Mitglied: batimbus
19.10.2011 um 14:11 Uhr
Habe jetzt mal Net Drive und Visual Cron installiert. Der Zugriff auf den FTP klappt perfekt.
Jetzt habe ich nur noch das Problem, das Visual Crown eine Email bei Fehler sendet. Im Moment sendet er entweder immer eine Email oder gar nicht.

Kennt sich vielleicht jemand mit Visual Cron aus?

~ batimbus
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
FTP Batch mit Semaphoren Datei
Frage von DirkK73Batch & Shell1 Kommentar

Hallo zusammen, ich bräuchte Eure Hilfe beim Erstellen eines Batches das folgende Aufgabe hat: Wir haben interne virtuelle Server. ...

Batch & Shell
FTP-Bach überträgt leere Datei
Frage von AlTheKingBundyBatch & Shell11 Kommentare

Hallo, ich habe ein kleine Batchdatei, die mir Dateien via FTP auf einen Server hochlädt: echo off ftp -i ...

Datenbanken

Datei auf einem FTP-Server per "CMD" erstellen

Frage von S4XisHereDatenbanken10 Kommentare

Hallo Community, kann mir einer erklären wie ich eine .txt oder .txd-Datei auf einem FTP-Server per "CMD" Eingabeaufforderung erstellen ...

Batch & Shell

FTP Datei mit aktuellem Datum Übertragen - Batch Script

Frage von spyware96Batch & Shell10 Kommentare

Hi, ich soll ein Script (Batch-Datei) Schreiben welches folgendes macht: - Ein Backup auf einem Server zu einem .zip-Archiv ...

Neue Wissensbeiträge
Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 27 MinutenWindows 10

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 2 StundenSicherheit1 Kommentar

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Microsoft Office
TEAMS - Skype for business
Tipp von Nebellicht vor 3 StundenMicrosoft Office

Hallo, ms ersetzt Skype for business durch TEAMS. Also, nicht wundern wenn mit der OFFICE365 Umgebung kein Skype for ...

Windows 10

Windows 10: Cortana und die Suche gehen bald wieder eigene Wege

Information von Frank vor 6 StundenWindows 102 Kommentare

Microsoft hat einen neuen Insider Build von Windows 10 veröffentlicht (Fast Ring, Version 18317), wo die digitale Assistentin "Cortana" ...

Heiß diskutierte Inhalte
Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft25 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...

Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server22 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...

Internet
Google-Suchergebnisse, Schnelleinblendung, woher kommt der Inhalt?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Ich bin der Systembetreuer einer kleinen Gemeinde in Süddeutschland. Wir betreiben auch eine Leihbücherei. Eine Kundin hat letzten ...