Dateiübertragung

  • Hi Leute,

    habe folgendes Problem. Ich schicke über sftp 3 Dateien von X nach Y. Mein Script wartet auf die 3 Dateien und erstellt nachdem alle 3 Dateien existend sind eine HTML Seite.

    Mein Problem ist nur folgendes bei der letzten Datei die er sendet kann ich nicht überpruefen wann sie komplett übertragen wurde.

    Habe probiert wenn die größe sich nach einer gewissen Zeit nicht ändert ist sie komplett, geht nicht weil der sftp irgendwie die größe schon reserviert.

    Meine derzeitige Lösung ist das ich ne 4. Datei (fertig.txt 0 Byte) übertrage aber das ist nicht so richtig performant wenn schnell hintereinander diese 3 Dateien (2 X 3Dateien) übertragen werden.

    Jemand eine Idee, wie ich das besser überpruefen könnte.

    Danke und Gruß

  • Eigentlich eine gute Idee, die ich auch aus produktiven Umgebungen kenne:
    Als letzter Akt der Transaktion wird eine ftpok übertragen (=eine Datei, eine kleine, mit der Dateiendung *.ftpok). Wenn die da ist -egal wie gross- sind Deine anderen Dateien schon übertragen.
    Dein Ansatz ist richtig, erprobt und einfach (und narrensicher).
    MfG
    Michael

  • Es kann vorkommen das dieses 3 Dateien paket schnell hintereinander gesendet wird und dann passiert es das es dann zu Konflikten kommt.

    grüße

    Ps. Aber schön zu hören das ich nicht der einzige bin der sowas ins produktivsystem lässt ^^

  • Ja leider kann ich nicht erst mehrere Sekunden warten, aber was meinst du denn mit checken ?

    Könnte ich damit was anfangen?

    [autoit]


    FileGetAttrib ( "filename" )

    [/autoit]

    mfg

  • Hai,
    also werden mehr als einmal die drei Dateien verschickt, wenn ich das richtig verstehe.
    Vorschlag:
    Quelle:
    -schaue nach, ob am Ziel *.ftpok Dastei vorhanden
    -wenn ja, warten
    -wenn nein, kopiere die drei Dateien ans Ziel
    -danach die *.ftpok-Datei ans Ziel

    Ziel:
    -gibt es eine *.ftpok-Datei
    -wenn nein, warten...
    -wenn ja, verarbeite die drei Dateien
    -danach lösche die *.ftpok-Datei

    Das Ganze mit Schleifen, Abfragen und sonstigem Gedöns nach eigenem Bedarf abschmecken ääh anpassen.