Info/Meldung wenn Datei eintrifft?

jezewski

bekommt Übersicht
Hal´lo liebe Gemeinde,

ich habe eine Frage an die Spezialisten hier:

Kunden senden mir Dateien auf den FTP-Server, die ich dann weiterverarbeiten muss. Es existieren mittlerweile über 150 Kundenzugänge, die auch über Ihre eigenen Verzeichnisse verfügen. Nun ist es recht mühsam jeden Tag alle Verzeichnisse zu durchforsten um nachzuschauen, ob irgendeiner eine neue Datei upgeloaded hat.
Gibt es da nicht eine charmante Lösung zu, dass ich per Email oder net eine Info aus irgendeinem Log/status Bericht bekomme?

Z.B
"User XY hat einen Dateiupload durchgeführt" oder
"Im Verzeichnis XYZ befindet sich eine Datei neueren Datums" oder, oder..

Irgendeine Meldung halt, die mich darauf aufmerksam macht.

Hat einer da eine tolle Idee?

Wäre super.

Michael
 

MaXg

assimiliert
Das wäre mal eine nützliche Erweiterung.

Zu viel will ich nicht versprechen:

"User XY hat Datei YZ hochgeladen." evtl. mit Datum/Zeit sollte machbar sein. ;)
 

jezewski

bekommt Übersicht
Hallo MaXg,
dann deutet Deine Antwort auf "nützliche Erweiterung" auf eine z. Zt nicht vorhandene Möglichkeit? Ich bin leider kein Programmierer und kenne mich auch kaum mit Scripten aus, aber mein laienhaftes Wissen flüstert mir, dass es da doch eine Möglichkeit geben müßte aus dem aktuellen Status-Logfile eine Mail zu generieren. Wie Du erwähntest z.B mit "User XY hat Datei YZ hochgeladen." evtl. mit Datum/Zeit
Ach, was würde uns damit das Leben erleichtert.. :)

Ich freue mich schon
 

KOENICH

der Monarch
Hallo MaXg,
dann deutet Deine Antwort auf "nützliche Erweiterung" auf eine z. Zt nicht vorhandene Möglichkeit? Ich bin leider kein Programmierer
MaXg meinte es etwas umständlich verpackt so, dass er - er kennt sich nämlich durchaus mit solcher Materie aus - mal schauen wird, ob er so etwas basteln kann.

ot:
Nachfrage-Posts bringen nichts ;)
 

Supernature

Und jetzt?
Teammitglied
Mal auf die Schnelle und ohne jede Modifikation: Unter "Protokolle und Berichte" gibt es einen Ast "Übertragungen", dort werden die Transfers erfasst.
Übersichtlich ist das allerdings nur, wenn auf den Server wirklich nur hochgeladen wird. Wenn tausende Downloads drin stehen und zwischendrin ein paar Uploads, ist das keine große Hilfe.
Dann besteht aber die Möglichkeit, sich in den Domain-Einstellungen unter "Protokolle und Berichte" ein Logfile zu erstellen, welches nur Uploads protokolliert.
Da könnte man dann täglich reinschauen oder es von einem kleinen SMTP-Tool per Mail verschicken lassen.
 

jezewski

bekommt Übersicht
Dann besteht aber die Möglichkeit, sich in den Domain-Einstellungen unter "Protokolle und Berichte" ein Logfile zu erstellen, welches nur Uploads protokolliert.
Hallo Supernature,
ja, das sieht ja schon recht vielversprechend aus. Habe unter der Domain-Einstellung zwei Logs erstellt, die nun Uploads und Downloads in jeweils eigene Dateien schreiben. Dazu existieren jetzt ja auch vbs Scripte. Da die Ausgabe aber nicht Userfreundlich ist:
(08/08/19 12:33:46, 4, 212.65.22.xxx, jezewski, RETR E:\IT\AN 1.5.1 8D_20.470_471.08.pdf.doc from 0 to 52736 in 00:00:01 at "51,5 KBytes/s" : ok)
müßte man das Script noch etwas Benutzerfreundlicher anpassen...

Aber da bräuchte ich Expertenrat ;)

Für das automatische Versenden hätte ich eventuell auch schon eine Idee.
Die immer mit dem neusten Datum versehende Datei wird per Batch via blat.exe versand. Das müßte dann ungefähr so aussehen:

for /f %%i in ('dir /b /od "C:\log\*.log"') do @set Neueste=%%i
copy "C:\log\%Neueste%" "c:\log\uploads\logfile.txt"
"c:\log\blat\blat.exe" "C:\log\uploads\logfile.txt" -to max.mustermann@web.de
exit

und dann per Task die blat.exe einmal täglich ausführen.

Es sei denn, MaXg bastelt eine viel charmantere Lösung :smokin
 

MaXg

assimiliert
Ja, genau nach diesem Prinzip hab ich mir das vorgestellt.

Blat verschickt die vorher aussagekräftig gestalteten messages. ;)

Ich kann erst am Mittwoch Abend damit anfangen.
Wenn Freitag Mittag noch nichts brauchbares von mir da ist, kommt nie was.

Irgendeine Meldung halt, die mich darauf aufmerksam macht.

Bei Unserem User Lollypop Piept der Server nach einem Upload.
Reicht das auch schon ?
 

jezewski

bekommt Übersicht
Ich kann erst am Mittwoch Abend damit anfangen.
Wenn Freitag Mittag noch nichts brauchbares von mir da ist, kommt nie was.
Na, dann hoffe ich mal stark auf Freitag
Bei Unserem User Lollypop Piept der Server nach einem Upload.
Reicht das auch schon ?
Nee, Piep reicht nicht.. ;) Müßte schon ein Nebelhorn sein. Das gute Stück steht im Serverraum - Luftlinie ca. 300 m.

DANKE
 

MaXg

assimiliert
Ging schneller als ich dachte. :)

Schnellanleitung:

E-Mail Adresse für den FTP-Server einrichten.

Vorkonfiguriertes Blat downloaden.
http://g6ftpserver.de/g6scripts/mail_upload/blat.zip [125kb]

nach c:\ entpacken (dateien liegen dann in c:\blat)

_INSTAll.cmd doppelklicken um eine *.dll zu registrieren. (liegt in c:\blat)

Datei newupload.cmd: (liegt in c:\blat)
Zeile 23: fqdn des Rechners und mailadresse durch die deines ftpservers ersetzen.

Für Zeile 24 ist eine minierklärung ganz unten in der newupload.cmd

Im FTP-Server:

Server -> local machine -> Domains -> deine Domain -> events

[Sreenshot] [75kb]

neues Event:

OnFileUploaded

execute:
Code:
C:\blat\newupload.cmd " $USR_FILENAME " $USR_NAME

Testen:
Datei hochladen, mails abrufen.

Ergebnis sollte so aussehen.

Weiter möglichkeiten sind u.a.:
direkte downloadlinks via http, ftp, smb
Angabe von Dateigrösse, Datum
oder den Upload gleich als Anhang dranpappen. (= quatsch, geht aber. *gg*)

Haken: Benutzer dürfen keine Leerzeichen im Loginnamen haben!!
 

jezewski

bekommt Übersicht
Wow... Tiefe Verneigung. Gekonnt ist gekonnt :)
Ich kann es gar nicht abwarten, das morgen auszuprobieren.

Werde mich dann nach erfolgreicher Implantation hier melden.

Vielen, vielen Dank MaXg
 

MaXg

assimiliert
Weiter möglichkeiten sind u.a.:
direkte downloadlinks via http, ftp, smb

Grade nochmal reingeschaut.

http + ftp geht nur bedingt.
Für smb hab ich gar kein Rezept.

Da die Umsetzung in echte Arbeit ausarten würde, hab ich's gleich bleiben lassen. ;)

Ne neuere Version mit microänderungen wurde durch die alte ersetzt. Downloadlink ist weiter oben.
 

jezewski

bekommt Übersicht
Ne neuere Version mit microänderungen wurde durch die alte ersetzt. Downloadlink ist weiter oben.

Hallo MaXg,
bin heute leider nicht wirklich dazu gekommen, Deine Lösung umzusetzen. Werde dann hoffentlich gleich morgen Dein Micro-Update nutzen. Gibt es eine wissenswerte Änderung?

Downloads über HTTP oder FTP brauche ich nicht wirklich.
Aber: :D
Da geht ja noch was:
Ich habe auf dem FTP ja gaaannnzz viele Ordner, die wiederum von den verschiedenen Kunden benutzt werden. Jeder Kunde hat seinen eigenen Ordner und seinen eigenen Vertriebsmitarbeiter. Hat man jetzt noch irgendwie die Möglichkeit, nur dem zuständigen Vertriebler eine E-Mail über ein Upload eines seiner Kunden zu informieren?

Bei der jetzigen Lösung wird eine Mail generiert, die an alle Vertriebler gesandt wird auch, wenn es den ein oder anderen ja nicht interessiert, da nicht seine Zuständigkeit..
:smokin
Bis morgen
 

MaXg

assimiliert
Hat man jetzt noch irgendwie die Möglichkeit, nur dem zuständigen Vertriebler eine E-Mail über ein Upload eines seiner Kunden zu informieren?

Eine "schmutzige" Lösung hab ich.

- In den FTP-Benutzerkonten die mailaddy des Vertrieblers Eintragen. [screenshot]

- Den Code im Eventsmanager ersetzen:
alt: " $USR_FILENAME " $USR_NAME
neu: " $USR_FILENAME " $USR_NAME $USR_IEMAIL

- Zeile 24:

...logfile.txt" -to mail@domain.tld -server ....

Emailadresse durch ...logfile.txt" -to %3 -server .... ersetzen.

Feddisch. :)
 

jezewski

bekommt Übersicht
GEHT :)

Feedback?
Gehts oder nicht? ;)

Hallo MaXg und alle anderen die es interessiert:

Es funktioniert tadellos :D :smokin bis

auf eine Kleinigkeit. Deine mitgelieferte "Blat.exe" funktionierte bei mir nicht richtig. Ich bekam immer die Fehlermeldung, dass der Sender nicht vom SMTP-Server akzeptiert werden konnte. Das dann der Fehler nur an der "blat.exe" liegen konnte, wurde sofort klar, da ich auf anderen Servern auch "blat" mit genau den gleichen Einstellungen (SMTP-Server und Absender) laufen habe.
Ich habe dann Deine "blat.exe" (Version 2.0.2.0 / 54 kb) gegen meine (Version 2.5.0.0 / 102 kb) vorhandene ausgetauscht und schon funktionierte alles einwandfrei. Auch die Erweiterung mit $USR_IMAIL war kein Thema.


Nicht nur ich, sondern alle Beteiligten (Vertriebler) sind Dir überaus dankbar.
Danke, Danke, Danke (y)

Selbstverständlich habe ich nicht nur Deine Info in der Statusmail belassen, sondern noch erweitert:
echo Herzlichen Dank an MaxG für dieses tolle Arbeitserleichterung >>c:\logfile.txt
echo besuch uns: http://supernature-forum.de >>c:\logfile.txt
echo script by maxg - maxg[at]supernature-forum.de >>c:\logfile.txt

See you ;)

Michael
 

Muenster

bekommt Übersicht
Hallo Ihr Experten,

ich habe leider noch immer das Problem, das ich keine eMails bekomme.

MaXg, danke für Deine wirklich gute Anleitung !!

Nur leider entsteht jedesmal auf c:\ das Logfile, welches sich nicht verschickt.

Habe ich etwas falsch gemacht?


Danke im Voraus und Euch schonmal eine schöne (besinnliche) Pfingstzeit.
 

MaXg

assimiliert
Logfile wäre hilfreich.

- vom Server - bei mir ist der Eintrag in "Actions" und sieht so aus:
09/05/31 13:40:42, 59, 192.168.0.3, MaXg, Event OnFileUploaded: Executing 'C:\blat\newupload.cmd " blasuelz.txt " MaXg /' --> Ok.

und den Inhalt von
- c:\blat\blatSMTPlog.txt

Bei mir:
verborgener Text:
Code:
2009.05.31 13:40:42 (Sun)------------Start of Session-----------------
Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)
2009.05.31 13:40:42 (Sun): <<<getline<<< 220 mail.maxg.local ESMTP mail srv; Sun May 31 13:40:39 2009
2009.05.31 13:40:42 (Sun): >>>putline>>> EHLO ftp.maxg.local
2009.05.31 13:40:42 (Sun): <<<getline<<< 250-Hello 192.168.0.3:2579, pleased to meet you.
2009.05.31 13:40:42 (Sun): <<<getline<<< 250-AUTH LOGIN PLAIN
2009.05.31 13:40:42 (Sun): <<<getline<<< 250 AUTH=LOGIN
2009.05.31 13:40:42 (Sun): Sending C:\logfile.txt to info@gonetworks.de
2009.05.31 13:40:42 (Sun): Subject: FTP Upload von MaXg 31.05.2009 / 13:40 Uhr
2009.05.31 13:40:42 (Sun): Login name is ftpserver@maxg.local
2009.05.31 13:40:42 (Sun): >>>putline>>> AUTH PLAIN AGZ0cHNlcnZlcgBmdHBzZXJ2ZXI=
2009.05.31 13:40:42 (Sun): <<<getline<<< 235 Authentication successful.
2009.05.31 13:40:42 (Sun): >>>putline>>> MAIL FROM:<ftpserver@maxg.local>
2009.05.31 13:40:42 (Sun): <<<getline<<< 250 ftpserver@maxg.local... Sender ok.
2009.05.31 13:40:42 (Sun): >>>putline>>> RCPT TO:<info@gonetworks.de>
2009.05.31 13:40:42 (Sun): <<<getline<<< 250 <info@gonetworks.de>... Recipient ok.
2009.05.31 13:40:42 (Sun): >>>putline>>> DATA
2009.05.31 13:40:42 (Sun): <<<getline<<< 354 Enter mail, end with "." on a line by itself
2009.05.31 13:40:47 (Sun): <<<getline<<< 250 Message accepted for delivery.
2009.05.31 13:40:47 (Sun): >>>putline>>> QUIT
2009.05.31 13:40:47 (Sun): <<<getline<<< 221 closing connection
2009.05.31 13:40:47 (Sun)-------------End of Session------------------

Das vorkonfigurierte Blat für G6 habe ich nochmal aktualisiert.
http://g6ftpserver.de/g6scripts/mail_upload/blat.zip

Beachte das die Logindaten in der newupload.cmd angepasst werden müssen!

Siehe auch MaXg's - TOOLS

Update WICHTIG:
Wenn ein User viele Dateien (thema sync) hochlädt, ist das nicht gut. -> Gar nicht gut!! :ROFLMAO:

Hunderte Mails...
 

Anhänge

  • Zwischenablage02.jpg
    Zwischenablage02.jpg
    45,2 KB · Aufrufe: 146
Zuletzt bearbeitet:

Muenster

bekommt Übersicht
Hallo MaXg,

danke für Deine Antwort.

So, nun kann ich mehr sagen, bzw. auch zeigen anhand der txt-Dateien.

Leider geht es immernoch nicht, bin wirklich ratlos ...
(ich habe nur meine eMail-Adresse und den Ftp-Computername unkenntlich gemacht)

Vielen lieben Dank im Voraus


ps. unter dem G6-Programm habe ich es so stehen

Event: OnFileUploaded
Execute: C:\blat\newupload.cmd " $USR_FILENAME " $USR_NAME " $USR_IEMAIL " $USR_PWD
 

Anhänge

  • blatSMTPlog.txt
    3,2 KB · Aufrufe: 358
  • newupload.txt
    1,5 KB · Aufrufe: 187
Oben