Sadržaj:

Sinhroniziranje mapa s Pythonom: 5 koraka
Sinhroniziranje mapa s Pythonom: 5 koraka

Video: Sinhroniziranje mapa s Pythonom: 5 koraka

Video: Sinhroniziranje mapa s Pythonom: 5 koraka
Video: ⚡️ Я НЕ СДАМСЯ! AMAZON 2.0 | Интернет магазин с нуля - Часть 3 2024, Juli
Anonim
Sinhroniziranje mapa s Pythonom
Sinhroniziranje mapa s Pythonom
Sinhroniziranje mapa s Pythonom
Sinhroniziranje mapa s Pythonom

Ova instrukcija će vam pokazati kako držati dvije mape (i sve mape u njima) sinkronizirane tako da jedna bude direktna kopija druge. Idealan za izradu sigurnosnih kopija lokalno, na oblak/mrežni poslužitelj ili USB pogon. Za dovršavanje ovog vodiča nije potrebno iskustvo u programiranju. Imajte na umu da ovo radi samo s Windowsima, iako je proces sličan na Mac i Linux.

Imam stari Windows računar koji sam postavio kao poslužitelj za različite funkcije, od kojih je jedna jeftina mrežna memorijska memorija koja djeluje i kao medijski poslužitelj i kao sigurnosna kopija svih računarskih podataka moje porodice.

Kako moja porodica voli da radi lokalno na svojim računarima, bio nam je potreban jednostavan način da redovno pravimo rezervne kopije podataka. Takođe mi je bio potreban način da udvostručim rezervnu kopiju primenom pristupa sličnog RAID -u na dva čvrsta diska na serverskom računaru. Također nisam želio platiti nijedan softver (da, znam da sam škrt). Kao posljedica toga, sav besplatni softver ima tendenciju da dolazi sa skočnim prozorima ili čak usporava računar zbog dugog vremena sinhronizacije i velike upotrebe procesora, što je samo bilo neugodno.

Stoga sam, uz malo truda, napisao python skriptu koja će sinkronizirati mape koje su nam sve potrebne. Tada sam mogao prilagoditi i distribuirati ovo porodici kao izvršnu datoteku koju sam mogao postaviti da se prozori redovno pokreću u pozadini. Korisnik računara nije morao biti mudriji.

Korak 1: Instaliranje Pythona i ovisnosti

Da biste kreirali distributivni program, morate instalirati python na računaru. Da biste to učinili, slijedite web vezu ovdje https://www.python.org/downloads/ i pomaknite se prema dolje dok ne pronađete željenu verziju. Napomena: Nažalost, od pisanja modula pyinstaller koji ćemo koristiti još ne radi s pythonom 3.8 pa ćete morati koristiti kompatibilnu verziju pythona (3.5-3.7).

Pratite instalaciju tako što ćete označiti potvrdni okvir "Dodaj na PATH".

Nakon instalacije otvorite naredbeni redak i instalirajte python module koji su nam potrebni, da biste to učinili, upišite sljedeće i prema potrebi izvršite sve upite:

pip install pyinstaller

pip install dirsync

Korak 2: Python skripta

Skripta je lijepa i jednostavna, samo dvije linije, kopirajte i zalijepite sljedeće u IDLE (instaliran s Pythonom) ili bilježnicu i spremite kao "DirectorySync.py":

sa dirsync import sync

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

Obavezno promijenite dvije gore navedene fascikle s dvije mape koje želite sinhronizirati. Dvostruka kosa kosa crta je potrebna u imenu puta jer je obrnuta kosa crta znak za izbjegavanje u Pythonu.

Prva linija uvozi dirsync modul koji smo prethodno instalirali.

Drugi vrši sinhronizaciju. Prva mapa je izvorna mapa, a druga ciljna, "sinkronizacija" govori funkciji sinkronizacije koji način sinkronizacije treba implementirati. Dodavanje čišćenja = Tačno govori funkciji da izbriše sve u ciljnom folderu koji više nije u izvornom folderu. Postoje i druge opcije koje se mogu implementirati ovisno o vašim potrebama.

Način na koji je gore konfiguriran također će sinkronizirati sve mape unutar mape najvišeg nivoa, to se može zaustaviti ako je potrebno. Ako želite sinkronizirati više od jedne mape najvišeg nivoa, jednostavno dodajte više redaka u svoj kod pomoću funkcije sync (). Za više opcija i pomoć pogledajte sljedeću vezu:

pypi.python.org/pypi/dirsync/2.2.2

Korak 3: Kreiranje.exe

Za kreiranje izvršne datoteke sada se moramo vratiti na naredbeni redak.

Upišite sljedeće zamjenjujući putanju mape rutom do skripte DirectorySync.py koju smo kreirali u zadnjem koraku:

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

Na lokaciji mape vaše python skripte ovo stvara niz mapa: _pycache_, build, dist i dvije druge datoteke. U fascikli dist sada se nalazi datoteka pod imenom DirectorySync.exe, pokretanje će izvršiti sinhronizaciju u pozadini. Ova datoteka se može distribuirati kao i svakome, a zatim mogu pokrenuti sinhronizaciju bez potrebe za instaliranjem pythona na računaru.

Da biste objasnili šta se dešava u BOLD tekstu koji je otkucan u komandnoj liniji:

'pyinstaller' govori računaru da koristi modul pyinstaller koji smo ranije preuzeli

'-F' je opcija koja govori pyinstalleru da generira samo jednu izvršnu datoteku, a ne niz mapa koje bi također trebale biti distribuirane.

'-w' je opcija koja govori računaru da ne prikazuje naredbeni redak svaki put kada pokrene skriptu.

Staza je put do python skripte.

Za više opcija i pomoći pogledajte donju vezu:

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

Korak 4: Automatsko pokretanje

Sada ste spremni za sinkronizaciju bilo koje mape bez potrebe za ponovnim kopiranjem, lijepljenjem i brisanjem samo dvostrukim klikom na izvršnu datoteku. Ali želimo otići korak dalje od toga i omogućiti da Windows automatski pokrene proces tako da ne morate brinuti.

Da bismo to učinili, koristit ćemo program Task Scheduler koji dolazi s Windows -om, ovaj proces se temelji na Windows 10, ali je gotovo identičan na drugim Windows platformama.

  1. Otvorite Planer zadataka iz izbornika Start.
  2. S desne strane u izborniku odaberite 'Kreiraj zadatak'.
  3. Dajte mu ime i opis i pri dnu provjerite je li konfiguriran za odgovarajući operativni sistem.
  4. Na kartici 'Okidači' stvorite novi okidač klikom na 'Novo' u donjem lijevom kutu, na novom skočnom prozoru odaberite željenu konfiguraciju, odabrao sam da započnem zadatak pri Prijava i ponavljam svaki sat kako bih znao da imati sigurnosnu kopiju svog rada svakih sat vremena. Pritisnite OK.
  5. Na kartici 'Akcije' na isti način kreirajte novu radnju. Radnja koju trebamo je pokretanje zadanog programa. Potražite izvršnu datoteku koju smo ranije stvorili i odaberite. NAPOMENA:- ako premjestite izvršnu datoteku nakon kreiranja zadatka, zadatak, pa stoga ni sinkronizacija, neće biti dovršeni.
  6. Na kartici "Uvjeti" poništite provjeru postavki napajanja kako bi radila na bateriju, ali i priključena.
  7. Pritisnite U redu i sada ste kreirali zadatak.

Ponovo pokrenite računar i nakon nekog vremena provjerite lokaciju ciljane mape i provjerite je li sinkronizacija uspjela. Imajte na umu da ako imate veliku mapu, sinkronizacija može potrajati neko vrijeme da se sve mape kopiraju po prvi put.

To je vodič kompletan, nadam se da će vam biti koristan, ako imate pitanja, javite mi.

Korak 5: AŽURIRAJTE 15. JANUAR 2020 - Preuzmite program

Još uvijek koristim ovaj program koji mi je dobro služio. Međutim, često su me ljudi zamolili da ručno obavim jednokratno sinhroniziranje poslova za različite mape itd. Stoga sam mislio da ću ažurirati ovaj Instructable s vezom na program koji sam stvorio za obavljanje posla. Omogućuje korisničko sučelje tako da ljudi mogu lako obaviti jedan od poslova sinkronizacije. Program se može preuzeti sa Github -a.

Preporučuje se: