Python Skript Ftp Sync

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)

  • er fragt nach einem Python Skript und bekommt Antworten über C Programme....

    Ich bin mir sicher, wenn man versuchst den themenstarter zu verstehen, dann sucht er nur die Möglichkeit ein dir auf einem ftp-server irgendwo hin zu kopieren. Punkt.
    Die Wahl der Waffen scheint mir relativ egal!
    Aber danke für den Beitrag.

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Ich dachte Python da ich da am meisten Ahnung habe... was es am schluss sein wird ist egal..... ich muss mich Anmelden können und syncen.....
    Auf einer synology Nas der rsync dienst ist schin aktiviert, aber von der auslastung her were es nicht besser ein kleines script als rsap?

    Ready when you are :bravo2:

    Einmal editiert, zuletzt von schnibli (19. September 2014 um 09:51)

  • Du kannst auch ein einfaches Script selber bauen. Du brauchst ja nur eine FTP-Client lib in Python

    Vom Ablauf her braucht das Script ja nur ein lokales Verzeichnis mit dem Remote Verzeichnis vergleichen. Du erstellst ein mal eine Liste der Remote Dateien und prüfst dann in einer Schleife ob

    • Die Datei auch lokal liegt
    • Das Dateidatum von Remote neuer ist
      • oder die Dateigröße größer ist

    Und falls sie nicht lokal liegt wird sie übertragen ; falls die remote Datei größer ist wird die lokale gelöscht und die größere übertragen usw..

    Und schon hast du dir dein eigenes Sync Script geschrieben bei dem du zudem mehr Einfluss darauf hast was es eigentlich machen soll und bist nicht von irgendwelchen anderen Programmen/Diensten abhängig.


    Von python hab ich nicht soooo viel Ahnung, aber versuche dir gerne dabei soweit ich kann zu helfen ;)

    Handelt es sich um einen normalen FTP Server oder benötigt man TLS/SSL ?


    Wenn du sowas aber nicht komplett selber bauen willst kannste auch vielleicht sowas umbauen:
    http://inamidst.com/proj/nftp/
    https://pypi.python.org/pypi/rsync.py
    http://rsync.samba.org/tech_report/node2.html

  • Und es wird nur /music verändert? Also der Inhalt des Verzeichnisses auf dem PI bleibt im Prinzip unverändert?

    Du veränderst was auf dem FTP und der PI soll das syncn?
    Oder veränderst du was auf dem PI und es soll auf den FTP synct werden?

  • Sorry,
    Eigentlich solte es 2 Oderner vom Ftp auf den Raspberry pi geladen werden.

    Die Daten immer von Ftp zu Raspberry pi auf dem Server soll nichts verändert werden.

    1x musik ftp -> musik rpi
    1x movie ftp -> movie rpi

    Ready when you are :bravo2:

  • Benutze selber zwar nur paramiko aber folgendes habe ich gerade noch gefunden:


    ftputil

    Zitat

    The ftputil module is a high-level interface to the ftplib module. The FTPHost objects generated from it allow many operations similar to those of os, os.path and shutil.

    Code
    import ftputil
    
    
    # Download some files from the login directory.
    with ftputil.FTPHost("ftp.domain.com", "user", "password") as ftp_host:
        names = ftp_host.listdir(ftp_host.curdir)
        for name in names:
            if ftp_host.path.isfile(name):
                ftp_host.download(name, name)  # remote, local
  • Ich habe dies hier:

    Jedoch kommt der fehler:
    -- Retreiving Files----

    Connecting...
    Connection Error - Fri 19 Sep 2014 03:24:55 PM

    Ready when you are :bravo2:

  • Naja irgendwelche Codebeispiele,die irgendwie sowas ähnliches machen, gibts etliche.

    Da ersich bereits mit Python auszukennen scheint wäres denk ich am einfachsten etwas komplett selber zu schreiben, soviel Aufwand wäre das eigentlich nicht.

    Ich kann später wenn ich wieder Zuhause bin gerne einen Code zusammen schustern - nur läge mir viel daran das auch verstanden wird was dort passiert :)

  • Das währe nett von dir wenn du dies machen könntest, ich habe auch den willen zu verstehen was genau passiert da ich ja ev. man änderungen durchführen möchte ect.
    Und wenn es geschrieben ist, verstehe ich es meist auch und weis wie ich damit umgehen kann :)

    Ready when you are :bravo2:

  • Hm...

    Code
    rsync -avP ipnas:/movie/* /movie/.

    Ich weiss nicht was mich da so abhängig von irgendwelchen Diensten macht. Zumal es funktioniert.... Ich hau mir ja auch keine räder aus granit und bau ein auto neu.... ;)
    Zugangsdaten jab ich gerade mal nicht berücksichtig...
    Aber egal auf der anderen Seite lernt man ein wenig skripting, wenn man es selber macht.

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!