Hi würde gern Alarmmeldungen via ftp abholen. Alle 10 sekunden oder so. Die Alarmmeldungen werden auf einen Linux system automatisch gespeichert. Leider ändert sich der Dateiname mehrmals täglich. Diese abgeholten Meldungen würde ich gern lokal in eine datei speichern. Hat da jemand ne Idee???
Neueste datei via FTp abholen in lokale datei kopieren
Anmeldungsdatum: Beiträge: Zähle... |
|
Anmeldungsdatum: Beiträge: 7174 |
Hi bura200, erstmal willkommen hier auf dem Forum ! Was die Ideen betrifft: klar haben wir eine menge Ideen, aber wir wissen nicht, was bei Dir passen könnte, wenn Du uns nicht ein bisschen mehr verrätst ... Wie findest Du z.B. (wenn Du es mit Hand machst) die neueste Datei ? - gibt es dafür irgend einen Hinweis ? LG, track |
(Themenstarter)
Anmeldungsdatum: Beiträge: 21 |
Von Hand ist das ja kein Problem. Auf nem Linux Rechner werden Alarmmeldungen protokoliert. Die Idee ist nun diese Meldungen aus einer Datei via FTp abzuholen und auf anderen Linuxrechner in eine lokale Datei zu speichern. Ist ein Projekt für ein Fährschiff. Maschinenalarme werden protokolliert und sollen so an anderen Stellen des Schiffes via Netztwerk und Linux Client angezeigt werden. Das Problem ist auch noch das die Datei auf dem Ursprungsrechner mehrmals täglich ein neuen Dateinamen bekommt. Also automatisiert via FTP neue Datei suchen(alle x sek.), übertragen und in lokale Datei schreiben. |
Anmeldungsdatum: Beiträge: 7174 |
Na ja, ich hatte schon konkret gefragt, woher Du den Dateinamen (besonders wenn er sich geändert hat) weißt. Ansonsten findest Du die genauen Informationen wie gewohnt auf Was das Timing angeht, wird man bei so schnellen Zyklen (unter 1 Minute) wahrscheinlich direkt eine Endlosschleife mit LG, track |
Projektleitung
Anmeldungsdatum: Beiträge: 12527 |
|
Anmeldungsdatum: Beiträge: 7174 |
Welche Sprache man für sowas nimmt, hängt wohl zuerst von den persönlichen Vorlieben und Vorkenntnissen ab ... Beim Probieren fiel mir auf, dass (Shell-) Um die neueste Datei zu bekommen, reicht dabei ja schon der (ftp-) Befehl LG, track |
(Themenstarter)
Anmeldungsdatum: Beiträge: 21 |
Danke...Tolle Ansätze für FTP in scripten. Ein Problem sehe ich noch mit der neuesten Datei. Kann ich den ls Befehl mit get koppeln?? Ich will ja den Inhalt der letzten Datei haben/ kopieren. Danke Daniel |
Anmeldungsdatum: Beiträge: 7174 |
Das werden im Endeffekt zwei Könnte z.B. so aussehen: (als Testbeispiel habe ich irgendeinen Anonymous-ftp-Server genommen) track@track:~$ ftp -n ftp.cs.brown.edu <<FERTIG | head user anonymous cd incoming ls -t bye FERTIG -rw-r--r-- 1 4261 65534 1578496 Apr 14 09:26 Photo.scr -rw-r--r-- 1 4261 65534 3397734 Apr 13 03:57 5MB.zip.762 -rw-r--r-- 1 4261 65534 3397734 Apr 13 03:57 3MB.zip.854 -rw-r--r-- 1 4261 65534 3397734 Apr 13 03:57 4MB.zip.763 -rw-r--r-- 1 4261 65534 3397734 Apr 13 03:56 5MB.zip.761 -rw-r--r-- 1 4261 65534 3397734 Apr 13 03:56 4MB.zip.762 -rw-r--r-- 1 4261 65534 3397734 Apr 13 03:56 3MB.zip.853 -rw-r--r-- 1 4261 65534 3397734 Apr 13 03:44 5MB.zip.760 -rw-r--r-- 1 4261 65534 3397734 Apr 13 03:44 3MB.zip.852 -rw-r--r-- 1 4261 65534 3397734 Apr 13 03:44 4MB.zip.761 local: -: Broken pipe track@track:~$ ftp -n ftp.cs.brown.edu <<FERTIG | sed -n '1 s/.\{62\}//p' user anonymous cd incoming ls -t bye FERTIG Photo.scr track@track:~$ file=$( ftp -n ftp.cs.brown.edu <<FERTIG | sed -n '1 s/.\{62\}//p' user anonymous cd incoming ls -t bye FERTIG ) track@track:~$ echo "$file" Photo.scr Hier habe ich Als Zweites käme jetzt das selbe nochmal, nur mit einem LG, track |
Anmeldungsdatum: Beiträge: Zähle... |
|
Anmeldungsdatum: Beiträge: 7174 |
Mit Da ist also nix mit (Edit: - ich sehe grade, auf meinem Link vom Karfreitag ist heute nix los. Dann also hier mal eine Alternative.) LG, track |
Anmeldungsdatum: Beiträge: 389 |
Ich hab das jetzt mal auf einem Debian versucht mit incron, da funktioniert das super bei dem lokalem Storage auf dem FTP hab ich das noch nicht getestet. Werde ich aber nachholen ☺ |
(Themenstarter)
Anmeldungsdatum: Beiträge: 21 |
Hi.. Funktioniert soweit. Würde das ganze jetzt gerne optimieren. Im Moment zeigt er mir alle neuen Alare und alten in einer Liste. z.B.: * Neuer Alarm Neuer Alarm Mit Stern ist ein neu auftretender Alarm gekennzeichnet, wenn er wieder weg geht kommt der selbe Text ohne Stern. Könnte man das sortieren, das nur ungelöste Alarme erscheinen?? Also neue Alarme mit Stern da sind und wenn weg sind gelöscht usw.?? Danke für einen Ansatz... Daniel |
Anmeldungsdatum: Beiträge: 10978 |
Du kannst z.B. nur Zeilen anzeigen lassen, die mit einem Sternchen gefolgt von einem Leerzeichen beginnen - z.B. mit grep: grep "^\* " datei_mit_alarmen.txt |