Linux.FTP-Sync

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen

Dateiformat auf dem FTP-Server

Dateiname

TTMMJJ_NNNN.CSV


Spalteninhalte


Beispieldatei

ACHTUNG: Die Zeile mit den Spaltenüberschriften werden im Echtbetrieb nicht erzeugt!

FormatRevision;Datum;Uhrzeit;Zaehlertyp;Pruefwerkzeug;Membranhersteller;Chargennummer;fortlNummer;Station_Pruefkammer;Kammer_Glocke;Messwert;Grenzwert;Pruefergebnis
R1.000;22.02.2006;12:34;ABCDEFGHIJKLMNOPQRST;1A2B3C4D5E6F7G8;UVWX;1234;9999;1;A;0.123456;0.120000;12
R1.000;20.07.06;16:25;G4 DN 25 D 250;000000000000;M;317;1431;2;2;+0.1815001E-05;+1.0000010E-04;00

crontab

*/5  *  *  *  *  fils-ftp  php /home/ftpheli/ftp_heli.php5

ftp_heli.php5

FTP-Funktions Referenz: http://de3.php.net/manual/de/ref.ftp.php

1) Login in den FTP Server
2) Auflisten aller Dateien *.csv in eine Variable
3) Durchlaufen der Variable und im Falle das die Datei älter als 3 Sekunden ist:
 a) Grösse der Datei bestimmen
 b) Datei ins lokale Dateisystem downloaden
 c) Grösse der Datei im lokalen Filesystem bestimmen
 d) Wenn a=c die Datei auf dem FTP-Server löschen

Übernahme der Daten in die Datenbank

Das CSV-Quellverzeichnis (OrgaMon muss lese/schreib und verzeichnis-Anlege-Rechte haben) wird im Systemparamter:

AuftragsObjektPfad=I:\Kundenumgebung\heli\Rohstoffe\ftp_area\

angegeben. Dabei werden alle Dateien verarbeitet, die der Maske *.CSV entsprechen! Dies wird vom OrgaMon automatisch im Rahmen der Tagwache übernommen. Oder zu jeder Zeit sobald der Abfrage-Arbeitsplatz gestartet wird. Nach der Übernahme der CSV-Dateien werden diese in ein ".\Ablage" Verzeichnis verschoben um damit zu signalisieren, dass diese Datei bereits verarbeitet wurden.
Im Problemfall wird eine CSV in das ".\Unlesbar" Verzeichnis verschoben, laufen hier Dateien auf, so muss nach der Ursache in der CSV Datei oder der Datenbank gesucht werden.

Zuordnungen der Felder in die Datenbank

CSV-Datei                  Datenbank
---------------------------------------------------
FormatRevision             -
Datum+Uhrzeit              CALIBRATIONS.FIELD_DATE
Zaehlertyp                 METERS.METERDATA2
Preufwerkzeug              CALIBRATIONS.EQUIPMENTID
Membranhersteller          METERS.METERDATA3
Chargennummer              METERS.FIELD_ORDER
fortlNummer                METERS.SERIALNUMBER
Station_Pruefkammer        METERS.METERDATA4
Kammer_Glocke              METERS.METERDATA5
Messwert                   TESTS.METERPLOSS
Grenzwert                  TESTS.METERMAXPLOSS
Pruefergebnis              METERS.GEARS1

AUTO-QUELLE                Datenbank
------------------------------------------------------
GEN_CALIBRATIONID          CALIBRATIONS.CALIBRATIONID