Inhaltsverzeichnis:

Ordner mit Python synchronisieren - Gunook
Ordner mit Python synchronisieren - Gunook

Video: Ordner mit Python synchronisieren - Gunook

Video: Ordner mit Python synchronisieren - Gunook
Video: Ordner synchronisieren & Datensicherung einfach aktuell halten mit FreeFileSync 2024, Kann
Anonim
Ordner mit Python synchronisieren
Ordner mit Python synchronisieren
Ordner mit Python synchronisieren
Ordner mit Python synchronisieren

Dieses anweisbare zeigt Ihnen, wie Sie zwei Ordner (und alle Ordner darin) synchron halten, so dass einer eine direkte Kopie des anderen ist. Ideal zum Sichern der Arbeit sowohl lokal, auf einem Cloud-/Netzwerkserver oder einem USB-Laufwerk. Für dieses Tutorial sind keine Programmierkenntnisse erforderlich. Bitte beachten Sie, dass dies nur mit Windows funktioniert, obwohl der Vorgang auf Mac und Linux ähnlich ist.

Ich habe einen alten Windows-Computer, den ich als Server für verschiedene Funktionen eingerichtet habe, von denen einer ein billiger Netzwerkspeicher ist, der sowohl als Medienserver als auch als Backup für alle Computerdaten meiner Familie fungiert.

Da meine Familie alle gerne lokal an ihren PCs arbeitet, brauchten wir eine einfache Möglichkeit, unsere Daten regelmäßig zu sichern. Ich brauchte auch eine Möglichkeit, das Backup zu verdoppeln, indem ich einen RAID-ähnlichen Ansatz auf zwei Festplatten auf dem Server-PC implementierte. Ich wollte auch keine Software bezahlen (ja ich geize mich). Als Folge davon neigt jede kostenlose Software dazu, mit Pop-ups zu kommen oder den PC mit langen Synchronisierungszeiten und hoher CPU-Auslastung sogar zu verlangsamen, was einfach nur nervig war.

Daher habe ich mit ein wenig Mühe ein Python-Skript geschrieben, das die Ordner synchronisiert, die wir alle brauchten. Ich konnte dies dann anpassen und als ausführbare Datei an die Familie verteilen, die ich Windows so einstellen konnte, dass sie regelmäßig im Hintergrund ausgeführt wurde. Der Computerbenutzer musste nicht klüger sein.

Schritt 1: Python und Abhängigkeiten installieren

Um das verteilbare Programm zu erstellen, müssen Sie Python auf Ihrem Computer installieren. Folgen Sie dazu dem Weblink hier https://www.python.org/downloads/ und scrollen Sie nach unten, bis Sie die gewünschte Version finden. Hinweis: Leider funktioniert das von uns verwendete Modul pyinstaller zum Zeitpunkt des Schreibens noch nicht mit Python 3.8, sodass Sie eine kompatible Version von Python (3.5-3.7) verwenden müssen.

Folgen Sie der Installation, indem Sie das Kontrollkästchen "Add to PATH" aktivieren.

Öffnen Sie nach der Installation eine Eingabeaufforderung und installieren Sie die benötigten Python-Module. Geben Sie dazu Folgendes ein und befolgen Sie alle Eingabeaufforderungen nach Bedarf:

pip install pyinstaller

pip install dirsync

Schritt 2: Das Python-Skript

Das Skript ist schön und einfach, nur zwei Zeilen, kopieren Sie Folgendes und fügen Sie es entweder in IDLE (mit Python installiert) oder in den Notizblock ein und speichern Sie es als "DirectorySync.py":

von dirsync import sync

sync('C:\FOLDER_A', 'E:\FOLDER_B', 'sync', purge = True)

Stellen Sie sicher, dass Sie die beiden obigen Ordner mit den beiden Ordnern ändern, die Sie synchronisieren möchten. Der doppelte Backslash ist im Pfadnamen erforderlich, da der Backslash in Python ein Escape-Zeichen ist.

Die erste Zeile importiert das zuvor installierte Dirsync-Modul.

Der zweite führt die Synchronisierung durch. Der erste Ordner ist der Quellordner und der zweite ist das Ziel, 'sync' teilt der Synchronisierungsfunktion mit, welcher Synchronisierungsmodus implementiert werden soll. Das Hinzufügen von purge=True weist die Funktion an, alles im Zielordner zu löschen, was sich nicht mehr im Quellordner befindet. Es gibt weitere Optionen, die je nach Bedarf implementiert werden können.

Die oben konfigurierte Art und Weise synchronisiert auch alle Ordner innerhalb des Ordners der obersten Ebene, dies kann bei Bedarf gestoppt werden. Wenn Sie mehr als einen Ordner der obersten Ebene synchronisieren möchten, fügen Sie einfach mit der Funktion sync() weitere Zeilen zu Ihrem Code hinzu. Weitere Optionen und Hilfe finden Sie unter folgendem Link:

pypi.python.org/pypi/dirsync/2.2.2

Schritt 3:.exe erstellen

Um die ausführbare Datei zu erstellen, müssen wir jetzt zur Eingabeaufforderung zurückkehren.

Geben Sie Folgendes ein und ersetzen Sie den Ordnerpfad durch die Route zum DirectorySync.py-Skript, das wir im letzten Schritt erstellt haben:

pyinstaller -F -w C:/Route_to_your_folder/DirectorySync.py

Im Ordnerspeicherort Ihres Python-Skripts erstellt dies eine Reihe von Ordnern: _pycache_, build, dist und zwei weitere Dateien. Im dist-Ordner befindet sich nun eine Datei namens DirectorySync.exe, die die Synchronisierung im Hintergrund durchführt. Diese Datei kann so wie sie ist an jeden verteilt werden und dieser kann dann eine Synchronisierung ausführen, ohne dass Python auf dem Computer installiert sein muss.

Um zu erklären, was in dem BOLD-Text passiert, der in die Eingabeaufforderung eingegeben wurde:

'pyinstaller' weist den Computer an, das Modul pyinstaller zu verwenden, das wir zuvor heruntergeladen haben

'-F' ist eine Option, die pyinstaller anweist, nur eine ausführbare Datei zu generieren und nicht eine Reihe von Ordnern, die auch verteilt werden müssten.

'-w' ist eine Option, die den Computer anweist, nicht bei jeder Ausführung des Skripts eine Eingabeaufforderung anzuzeigen.

Der Pfad ist der Pfad zum Python-Skript.

Weitere Optionen und Hilfe finden Sie unter dem folgenden Link:

pyinstaller.readthedocs.io/en/stable/usage…

Schritt 4: Automatisch ausführen

Sie können jetzt beliebige Ordner synchronisieren, ohne wiederholt kopieren, einfügen und löschen zu müssen, indem Sie einfach auf die ausführbare Datei doppelklicken. Wir möchten jedoch noch einen Schritt weiter gehen und Windows den Prozess automatisch ausführen lassen, damit Sie sich keine Sorgen machen müssen.

Dazu verwenden wir das mit Windows mitgelieferte Taskplaner-Programm. Dieser Prozess basiert auf Windows 10, ist aber auf anderen Windows-Plattformen fast identisch.

  1. Öffnen Sie den Taskplaner aus dem Startmenü.
  2. Wählen Sie auf der rechten Seite "Aufgabe erstellen" aus dem Menü.
  3. Geben Sie ihm einen Namen und eine Beschreibung und stellen Sie unten sicher, dass es für das richtige Betriebssystem konfiguriert ist.
  4. Erstellen Sie auf der Registerkarte "Trigger" einen neuen Trigger, indem Sie unten links auf "Neu" klicken. Wählen Sie im neuen Popup die gewünschte Konfiguration aus. Ich habe mich entschieden, die Aufgabe bei Anmelden zu beginnen und jede Stunde zu wiederholen, damit ich weiß, dass ich Ich habe jede Stunde ein Backup meiner Arbeit. OK klicken.
  5. Auf der Registerkarte 'Aktionen' legen Sie auf die gleiche Weise eine neue Aktion an. Die Aktion, die wir benötigen, ist das Starten eines Programms, das die Standardeinstellung ist. Navigieren Sie zu der ausführbaren Datei, die wir zuvor erstellt haben, und wählen Sie. HINWEIS:- Wenn Sie die ausführbare Datei nach dem Erstellen der Aufgabe verschieben, wird die Aufgabe und damit die Synchronisierung nicht abgeschlossen.
  6. Deaktivieren Sie auf der Registerkarte "Bedingungen" die Energieeinstellungen, damit es sowohl mit Batterie als auch mit Netzstrom betrieben wird.
  7. Klicken Sie auf OK und Sie haben nun Ihre Aufgabe erstellt.

Starten Sie den Computer neu und überprüfen Sie nach einer Weile den Speicherort des Zielordners und stellen Sie sicher, dass die Synchronisierung funktioniert hat. Bitte beachten Sie, dass die Synchronisierung bei einem großen Ordner eine Weile dauern kann, um alle Ordner beim ersten Mal zu kopieren.

Das ist das Tutorial abgeschlossen, ich hoffe, Sie finden es nützlich. Bei Fragen lassen Sie es mich wissen.

Schritt 5: UPDATE 15. JAN 2020 - Programm herunterladen

Ich benutze immer noch dieses Programm, das mir gute Dienste geleistet hat. Ich wurde jedoch häufig von Leuten gebeten, einen Job für verschiedene Ordner manuell zu synchronisieren usw. Daher dachte ich, ich würde dieses Instructable mit einem Link zu einem Programm aktualisieren, das ich erstellt habe, um den Job zu erledigen?. Es bietet eine Benutzeroberfläche, mit der Benutzer problemlos einen der Synchronisierungsjobs ausführen können. Das Programm kann von Github heruntergeladen werden.

Empfohlen: