Linux.FTP-Sync: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 20: | Zeile 20: | ||
R1.000;22.02.2006;12:34;ABCDEFGHIJKLMNOPQRST;1A2B3C4D5E6F7G8;UVWX;1234;9999;1;A;0.123456;0.120000;12<br> | R1.000;22.02.2006;12:34;ABCDEFGHIJKLMNOPQRST;1A2B3C4D5E6F7G8;UVWX;1234;9999;1;A;0.123456;0.120000;12<br> | ||
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 | 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 | ||
</code> | </code> | ||
Zeile 31: | Zeile 25: | ||
FTP-Funktions Referenz: http://de3.php.net/manual/de/ref.ftp.php<br> | FTP-Funktions Referenz: http://de3.php.net/manual/de/ref.ftp.php<br> | ||
Eine PHP Script lädt die CSV Datei vom FTP-Server der Prüfmaschine in ein lokales Verzeichnis. Nach der Übertragung wir die Datei vom FTP-Server gelöscht. Das lokale Ablageverzeichnis muss für den OrgaMon sichtbar sein. | |||
<code> | <code> | ||
Zeile 40: | Zeile 35: | ||
c) Grösse der Datei im lokalen Filesystem bestimmen | c) Grösse der Datei im lokalen Filesystem bestimmen | ||
d) Wenn a=c die Datei auf dem FTP-Server löschen | d) Wenn a=c die Datei auf dem FTP-Server löschen | ||
</code> | |||
== crontab == | |||
<code> | |||
*/5 * * * * fils-ftp php /home/ftpheli/ftp_heli.php5 | |||
</code> | </code> | ||
Version vom 26. Juli 2006, 22:46 Uhr
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
ftp_heli.php5
FTP-Funktions Referenz: http://de3.php.net/manual/de/ref.ftp.php
Eine PHP Script lädt die CSV Datei vom FTP-Server der Prüfmaschine in ein lokales Verzeichnis. Nach der Übertragung wir die Datei vom FTP-Server gelöscht. Das lokale Ablageverzeichnis muss für den OrgaMon sichtbar sein.
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
crontab
*/5 * * * * fils-ftp php /home/ftpheli/ftp_heli.php5
Ü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