Spisu treści:

Synchronizowanie folderów z Pythonem: 5 kroków
Synchronizowanie folderów z Pythonem: 5 kroków

Wideo: Synchronizowanie folderów z Pythonem: 5 kroków

Wideo: Synchronizowanie folderów z Pythonem: 5 kroków
Wideo: (OMV#2) Pierwsze kroki z OpenMediaVault, w tym wstępne przygotowanie dysków do pracy 2024, Grudzień
Anonim
Synchronizowanie folderów z Pythonem
Synchronizowanie folderów z Pythonem
Synchronizowanie folderów z Pythonem
Synchronizowanie folderów z Pythonem

Ta instrukcja pokaże, jak zsynchronizować dwa foldery (i wszystkie znajdujące się w nich foldery), aby jeden był bezpośrednią kopią drugiego. Idealny do tworzenia kopii zapasowych zarówno lokalnie, na serwerze w chmurze/sieciowym, jak i na dysku USB. Do ukończenia tego samouczka nie jest wymagane żadne doświadczenie w programowaniu. Pamiętaj, że działa to tylko w systemie Windows, chociaż proces jest podobny na komputerach Mac i Linux.

Mam stary komputer z systemem Windows, który skonfigurowałem jako serwer dla różnych funkcji, z których jedną jest tania pamięć podłączona do sieci, która działa zarówno jako serwer multimediów, jak i kopia zapasowa wszystkich danych komputerowych mojej rodziny.

Ponieważ moja rodzina lubi pracować lokalnie na swoich komputerach, potrzebowaliśmy łatwego sposobu na regularne tworzenie kopii zapasowych naszych danych. Potrzebowałem również sposobu na podwojenie kopii zapasowej poprzez wdrożenie podejścia podobnego do RAID na dwóch dyskach twardych komputera serwera. Nie chciałem też płacić za żadne oprogramowanie (tak, wiem, że mnie skąpi). W wyniku tego, całe darmowe oprogramowanie ma tendencję do pojawiania się wyskakujących okienek, a nawet spowalnia komputer z długimi czasami synchronizacji i dużym zużyciem procesora, co było po prostu denerwujące.

Dlatego przy odrobinie wysiłku napisałem skrypt Pythona, który zsynchronizowałby foldery, których wszyscy potrzebowaliśmy. Mogłem następnie dostosować i rozesłać to do rodziny jako plik wykonywalny, który mogłem ustawić tak, aby okna działały regularnie w tle. Użytkownik komputera nie musiał być mądrzejszy.

Krok 1: Instalacja Pythona i zależności

Aby stworzyć program dystrybucyjny, musisz zainstalować Pythona na swoim komputerze. Aby to zrobić, kliknij link internetowy tutaj https://www.python.org/downloads/ i przewiń w dół, aż znajdziesz żądaną wersję. Uwaga: Niestety, od momentu pisania modułu pyinstaller, którego będziemy używać, nie działa jeszcze z pythonem 3.8, więc będziesz musiał użyć kompatybilnej wersji pythona (3.5-3.7).

Postępuj zgodnie z instalacją, zaznaczając pole wyboru „Dodaj do ścieżki”.

Po zainstalowaniu otwórz wiersz polecenia i zainstaluj potrzebne nam moduły Pythona, aby wykonać następujące czynności i postępuj zgodnie z wszelkimi monitami zgodnie z wymaganiami:

pip zainstalować pyinstaller

pip install dirsync

Krok 2: Skrypt Pythona

Skrypt jest ładny i prosty, tylko dwie linijki, skopiuj i wklej poniższy kod do IDLE (zainstalowany z Pythonem) lub notatnika i zapisz jako "DirectorySync.py":

z synchronizacji importu dirsync

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

Pamiętaj, aby zmienić dwa powyższe foldery na dwa foldery, które chcesz zsynchronizować. Podwójny ukośnik odwrotny jest wymagany w nazwie ścieżki, ponieważ ukośnik odwrotny jest znakiem ucieczki w Pythonie.

Pierwsza linia importuje moduł dirsync, który zainstalowaliśmy wcześniej.

Drugi wykonuje synchronizację. Pierwszy folder jest folderem źródłowym, a drugi docelowym, 'sync' jest informacją funkcji synchronizacji, jaki tryb synchronizacji ma zaimplementować. Adding purge=True mówi funkcji, aby usunęła wszystko z folderu docelowego, którego nie ma już w folderze źródłowym. Istnieją inne opcje, które można wdrożyć w zależności od potrzeb.

Sposób, w jaki jest skonfigurowany powyżej, również zsynchronizuje wszystkie foldery w folderze najwyższego poziomu, w razie potrzeby można to zatrzymać. Jeśli chcesz zsynchronizować więcej niż jeden folder najwyższego poziomu, po prostu dodaj więcej wierszy do kodu za pomocą funkcji sync(). Aby uzyskać więcej opcji i pomocy, zobacz poniższy link:

pypi.python.org/pypi/dirsync/2.2.2

Krok 3: Tworzenie.exe

Aby utworzyć plik wykonywalny, musimy teraz wrócić do wiersza poleceń.

Wpisz następujące polecenie, zastępując ścieżkę folderu trasą do skryptu DirectorySync.py, który utworzyliśmy w ostatnim kroku:

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

W lokalizacji folderu twojego skryptu Pythona tworzy to serię folderów: _pycache_, build, dist i dwa inne pliki. W folderze dist znajduje się teraz plik o nazwie DirectorySync.exe, którego uruchomienie spowoduje wykonanie synchronizacji w tle. Ten plik może być rozpowszechniany w dowolnej postaci, a następnie można uruchomić synchronizację bez konieczności instalowania Pythona na komputerze.

Aby wyjaśnić, co się dzieje w pogrubionym tekście, który został wpisany w wierszu polecenia:

'pyinstaller' mówi komputerowi, aby użył modułu pyinstaller, który pobraliśmy wcześniej

'-F' to opcja, która mówi pyinstallerowi, aby generował tylko jeden plik wykonywalny, a nie serię folderów, które również musiałyby być rozpowszechniane.

'-w' to opcja, która mówi komputerowi, aby nie wyświetlał wiersza poleceń za każdym razem, gdy uruchamia skrypt.

Ścieżka jest ścieżką do skryptu Pythona.

Aby uzyskać więcej opcji i pomocy, zobacz poniższy link:

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

Krok 4: Działa automatycznie

Możesz teraz synchronizować dowolne foldery bez konieczności wielokrotnego kopiowania, wklejania i usuwania, po prostu klikając dwukrotnie plik wykonywalny. Ale chcemy pójść o krok dalej i sprawić, by system Windows uruchomił proces automatycznie, więc nie musisz się martwić.

Aby to zrobić, użyjemy programu Task Scheduler, który jest dostarczany z systemem Windows, ten proces jest oparty na systemie Windows 10, ale jest prawie identyczny na innych platformach Windows.

  1. Otwórz Harmonogram zadań z menu Start.
  2. Po prawej stronie wybierz z menu „Utwórz zadanie”.
  3. Nadaj mu nazwę i opis, a na dole upewnij się, że jest skonfigurowany dla odpowiedniego systemu operacyjnego.
  4. Na karcie „Wyzwalacze” utwórz nowy wyzwalacz, klikając „Nowy” w lewym dolnym rogu, w nowym wyskakującym okienku wybierz żądaną konfigurację, zdecydowałem się rozpocząć zadanie w Zaloguj się i powtarzać co godzinę, aby wiedzieć, że mieć kopię zapasową mojej pracy co godzinę. Kliknij OK.
  5. Na karcie „Akcje” w ten sam sposób utwórz nową akcję. Potrzebujemy działania, aby uruchomić program, który jest domyślny. Przejdź do pliku wykonywalnego, który utworzyliśmy wcześniej i wybierz. UWAGA:- jeśli przeniesiesz plik wykonywalny po utworzeniu zadania, zadanie, a tym samym synchronizacja, nie zostaną ukończone.
  6. Na karcie „Warunki” usuń zaznaczenie ustawień zasilania, aby działał na baterii, a także był podłączony.
  7. Kliknij OK, a teraz utworzyłeś swoje zadanie.

Uruchom ponownie komputer, a po chwili sprawdź lokalizację folderu docelowego i zobacz, czy synchronizacja zadziałała. Pamiętaj, że jeśli masz duży folder, synchronizacja może trochę potrwać, aby skopiować wszystkie foldery za pierwszym razem.

To jest samouczek kompletny, mam nadzieję, że okaże się przydatny, wszelkie pytania daj mi znać.

Krok 5: AKTUALIZACJA 15 stycznia 2020 r. - Program pobierania

Nadal korzystam z tego programu, który dobrze mi służył Jednak ludzie często proszono mnie o ręczne synchronizowanie zadań dla różnych folderów itp. Dlatego pomyślałem, że zaktualizuję ten Instruktaż za pomocą linku do programu, który stworzyłem, aby wykonać to zadanie. Zapewnia interfejs użytkownika, dzięki któremu ludzie mogą łatwo wykonywać jedno z zadań synchronizacji. Program można pobrać z Github.

Zalecana: