1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Erictrials

Beiträge von Erictrials

  • FTP-Sync wie Dropbox

    • Erictrials
    • 12. Mai 2012 um 23:50
    Zitat von autoBert


    Zu deiner Frage warum sich die Dateiliste nicht ändert: Daran ist das Cache schuld. Benutze den Parametr $l_Flags von _Ftp_ListToArray.

    Danke für den Tipp. Aber wie muss ich den Parameter $l_Flags verwenden?
    Ich hab' vorhin den Parameter $i_Passive bei _FTP_Connect auf 0 gestellt, den hatte ich vorher auf 1 stehen. Komischerweise wird jetzt die Dateiliste jedesmal aktualisiert.

    Zitat von autoBert

    Um Änderungen an einer Datei auf dem FTP mit zu bekommen, müsstest du jede Datei unter einem temporären Namen downloaden, danach einen Hash bilden und mit dem Hash der entsprechenden Datei vergleichen.


    Kann man das nicht einfach mit der Zeit, wann die Datei erstellt wurde machen? Und wenn nicht -> Ich hab meinen FTP-Server auf einem Windows-Rechner laufen, also könnte ich dort auch ein AutoIt-Programm laufen lassen. Dann könnte ich mir ja ein kleines "Server-Tool" machen, welches einen Hash bildet und den in einer Datei "auf dem FTP-Server" speichert. Dann könnte mein Client-Tool diese Datei herunterladen und die Dateien vergleichen. Würde das gehen? Und wenn ja, wie? (Ich kann mich mit Hash bilden nicht aus)
    Oder hättet ihr eine bessere Idee?
    Eigentlich müsste das ja dann auch komplett ohne FTP-Server gehen (irgendwie mit TCPSend oder so vlt?) Allerdings kenne ich mich damit kaum aus.
    Was würdet ihr sagen, wie ich das angehen soll?

    Erictrials

  • FTP-Sync wie Dropbox

    • Erictrials
    • 12. Mai 2012 um 13:55

    Hallo Chip,
    vielen Dank für deinen Vorschlag.
    Ich wollte mir dafür aber eigentlich selbst ein kleines Tool programmieren, das (wie Dropbox) im Hintergrund läuft und automatisch die Dateien abgleicht. Dann könnte ich auch einbauen, dass er mir immer Traytips (wie Dropbox) anzeigt "Datei 'Test3.jpg' wurde aktualisiert".
    Was ich aber immer noch nicht verstehe, ist dass er die Ordnerliste nicht aktualisiert wenn ich sie neu anfordere. Sogar wenn ich die Verbindung neu aufbaue.
    Erictrials

  • FTP-Sync wie Dropbox

    • Erictrials
    • 11. Mai 2012 um 23:26

    am besten den anfang vom skript erstellen.
    ich hatte das so versucht:

    [autoit]


    While 1
    $local_dir_files = _FileListToArray($root_local,"*",1)
    If IsArray($local_dir_files) Then
    _ArrayDisplay($local_dir_files)

    EndIf

    $open = _FTP_Open("")
    $conn = _FTP_Connect($open,$server,$user,$pass)
    _FTP_DirSetCurrent($conn,"/")
    $server_dir_files = ""
    $server_dir_files = _Ftp_ListToArray($conn,2)

    _FTP_Close($open)
    If IsArray($server_dir_files) Then
    _ArrayDisplay($server_dir_files)
    EndIf
    If IsArray($local_dir_files) Then ; Überprüfen, ob lokale Dateien auf dem Server vorhanden sind
    $search = _ArraySearch($server_dir_files,$local_dir_files[1],1,$server_dir_files[0],1)
    If @error Then
    MsgBox(64,"","Die Datei " & $local_dir_files[1] & " wurde nicht gefunden.")
    Else
    MsgBox(64,"","Die Datei " & $local_dir_files[1] & " wurde auf dem Server gefunden.")
    EndIf
    EndIf
    sleep(5000)
    WEnd

    [/autoit]

    das hat auch soweit funktioniert, das problem ist, das die dateiliste vom ftp-server (_FTP_ListToArray) anscheind nicht neu geladen wird. Wenn ich 2 dateien ("Test1.jpg" und "Test2.jpg") auf dem FTP-Server liegen habe, und mein script starte, listet er die zwei dateien auf, wenn ich dann "Test1.jpg" auf dem Server lösche, zeigt mein script immer wieder beide dateien an ("Test1.jpg" und "Test2.jpg") - genauso wenn ich "Test3.jpg" auf den ftp server hochlade - er zeigt immer wieder nur "Test1.jpg" und "Test2.jpg" an. Wenn ich das Script neu starte, stimmt die dateiliste wieder.

    Entweder ich könnte dieses Problem lösen, oder ich müsste irgendwie anders an die Sache ran gehen. Hättet ihr vielleicht eine Idee?

  • FTP-Sync wie Dropbox

    • Erictrials
    • 11. Mai 2012 um 14:10

    Hallo Zusammen,
    ich möchte mir ein kleines Autoit-Tool programmieren, das einen Ordner per FTP syncronisiert. (Alle 10 Sekunden oder so)
    Es soll alle Dateien die im "Sync-Ordner" auf meinem PC sind, in den "Sync-Ordner" auf dem FTP-Server kopieren, und umgekehrt. Wenn ich einen neuen Ordner erstelle, soll dieser natürlich auch angelegt werden auf dem FTP-Server. Genauso wie bei Dropbox, nur eben mit meinem eigenen FTP Server, da dieser viel schneller ist, weil er im lokalen Netzwerk ist.
    Wenn eine Datei auf dem PC und auf dem Server existiert, soll geprüft werden, ob die Dateien gleich "alt" sind. Wenn eine Datei bearbeitet wurde, soll die ältere Datei durch die neuere Datei ersetzt werden.
    Ich hab es jetzt schon mehrmals getestet mit _FTP_DirPutContents oder mit Arrays, aber es will einfach nicht so richtig funktionieren.
    Könnt ihr mir helfen?
    Viele Grüße
    Erictrials

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™