Innholdsfortegnelse:

Synkronisering av mapper med Python: 5 trinn
Synkronisering av mapper med Python: 5 trinn

Video: Synkronisering av mapper med Python: 5 trinn

Video: Synkronisering av mapper med Python: 5 trinn
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Synkronisere mapper med Python
Synkronisere mapper med Python
Synkronisere mapper med Python
Synkronisere mapper med Python

Denne instruksjonen viser deg hvordan du holder to mapper (og alle mappene i dem) synkronisert, så den ene er en direkte kopi av den andre. Ideell for sikkerhetskopiering av arbeid både lokalt, til en sky-/nettverksserver eller en USB -stasjon. Ingen erfaring med programmering er nødvendig for å fullføre denne opplæringen. Vær oppmerksom på at dette bare fungerer med Windows, selv om prosessen er lik på Mac og Linux.

Jeg har en gammel Windows -datamaskin som jeg har oppsett som fungerer som en server for forskjellige funksjoner, hvorav den ene er en billig nettverkstilkoblet lagring som fungerer som både en medieserver og sikkerhetskopi av alle min families datadata.

Siden familien min liker å jobbe lokalt på PC -ene sine, trengte vi en enkel måte å sikkerhetskopiere dataene våre regelmessig. Jeg trengte også en måte å doble ned på sikkerhetskopien ved å implementere en RAID -lignende tilnærming på to harddisker på server -PCen. Jeg ønsket heller ikke å betale for noen programvare (ja jeg kjenner gjerrig meg). Som en konsekvens av dette har all gratis programvare en tendens til å komme med popup -vinduer eller til og med bremse PCen med lange synkroniseringstider og stor CPU -bruk, noe som bare var irriterende.

Derfor, med en liten innsats, skrev jeg et python -skript som ville synkronisere mappene vi alle trengte. Jeg kunne deretter tilpasse og distribuere dette til familien som en kjørbar som jeg kunne sette vinduer til å kjøre med jevne mellomrom i bakgrunnen. Datamaskinbrukeren måtte ikke være klokere.

Trinn 1: Installere Python og avhengigheter

For å lage det distribuerbare programmet må du installere python på datamaskinen. For å gjøre dette, følg weblenken her https://www.python.org/downloads/ og bla ned til du finner den versjonen du ønsker. Merk: Når du skriver modulen pyinstaller som vi skal bruke, fungerer dessverre ikke med python 3.8, så du må bruke en kompatibel versjon av python (3.5-3.7).

Følg installasjonen, og sørg for å krysse av i boksen "Legg til PATH".

Når du har installert, åpner du en ledetekst og installerer python -modulene vi trenger, for å gjøre denne typen følgende og følge opp med eventuelle forespørsler etter behov:

pip installer pyinstaller

pip installer dirsync

Trinn 2: Python -skriptet

Skriptet er fint og enkelt, bare to linjer, kopier og lim inn følgende i enten IDLE (installert med Python) eller notisblokk og lagre som "DirectorySync.py":

fra dirsync importsynkronisering

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

Sørg for å endre de to mappene ovenfor med de to mappene du vil synkronisere. Dobbel skråstrek er påkrevd i banenavnet, ettersom backslash er et flukttegn i Python.

Den første linjen importerer dirsync -modulen vi installerte tidligere.

Den andre utfører synkroniseringen. Den første mappen er kildemappen, og den andre er målet. Synkroniseringen forteller synkroniseringsfunksjonen hvilken synkroniseringsmodus som skal implementeres. Adding purge = True forteller funksjonen å slette alt i målmappen som ikke lenger er i kildemappen. Det er andre alternativer som kan implementeres avhengig av dine behov.

Måten den er konfigurert ovenfor, vil også synkronisere alle mappene i mappen på øverste nivå, dette kan stoppes om nødvendig. Hvis du vil synkronisere mer enn én mappe på toppnivå, kan du bare legge til flere linjer i koden din med funksjonen synkronisering (). For flere alternativer og hjelp, se følgende lenke:

pypi.python.org/pypi/dirsync/2.2.2

Trinn 3: Opprette.exe

For å lage den kjørbare må vi nå gå tilbake til ledeteksten.

Skriv inn følgende for å erstatte mappebanen med ruten til DirectorySync.py -skriptet vi opprettet i det siste trinnet:

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

I mappeplasseringen til python -skriptet oppretter dette en serie mapper: _pycache_, build, dist og to andre filer. I dist -mappen er nå en fil som heter DirectorySync.exe, som kjører denne, utfører synkroniseringen i bakgrunnen. Denne filen kan distribueres som den er til hvem som helst, og de kan deretter kjøre en synkronisering uten å måtte ha python installert på datamaskinen.

For å forklare hva som skjer i den FETTE teksten som ble skrevet i ledeteksten:

'pyinstaller' fortell datamaskinen om å bruke modulen pyinstaller som vi lastet ned tidligere

'-F' er et alternativ som forteller pyinstaller å bare generere en kjørbar og ikke en serie mapper som også må distribueres.

'-w' er et alternativ som forteller datamaskinen å ikke vise en ledetekst hver gang den kjører skriptet.

Banen er banen til python -skriptet.

For flere alternativer og hjelp, se lenken nedenfor:

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

Trinn 4: Kjører automatisk

Du er nå klar til å synkronisere alle mapper uten å måtte kopiere, lime inn og slette gjentatte ganger ved bare å dobbeltklikke på den kjørbare filen. Men vi vil gå et skritt lenger enn det og la Windows kjøre prosessen automatisk, slik at du ikke trenger å bekymre deg.

For å gjøre dette vil vi bruke Task Scheduler -programmet som følger med Windows, denne prosessen er basert på Windows 10, men er nesten identisk på andre Windows -plattformer.

  1. Åpne oppgaveplanleggeren fra startmenyen.
  2. På høyre side velger du 'Opprett oppgave' fra menyen.
  3. Gi den et navn og en beskrivelse, og sørg for at den er konfigurert for riktig operativsystem nederst.
  4. På fanen "Utløsere", opprett en ny utløser ved å klikke på "Ny" nederst til venstre, velg den konfigurasjonen du vil ha i den nye popup -vinduet, jeg valgte å starte oppgaven ved Logg på og gjenta hver time, så jeg vet jeg har en sikkerhetskopi av arbeidet mitt hver time. Klikk OK.
  5. På fanen 'Handlinger' opprett en ny handling på samme måte. Handlingen vi trenger er å starte et program som er standard. Bla til den kjørbare filen vi opprettet tidligere, og velg. MERK:- hvis du flytter den kjørbare filen etter at du har opprettet oppgaven, fullføres ikke oppgaven og derfor synkroniseringen.
  6. På fanen 'Betingelser', avmarker du strøminnstillingene, slik at den kan kjøres på batteri og plugges inn.
  7. Klikk OK, og du har nå opprettet oppgaven din.

Start datamaskinen på nytt, og etter en stund sjekk plasseringen av målmappen og se at synkroniseringen fungerte. Vær oppmerksom på at hvis du har en stor mappe, kan det ta en stund å synkronisere alle mappene på tvers av første gang.

Det er opplæringen komplett, jeg håper du synes det er nyttig, spørsmål, gi meg beskjed.

Trinn 5: OPPDATERING 15. JAN 2020 - Last ned program

Jeg bruker fortsatt dette programmet som har tjent meg godt. Imidlertid har jeg blitt ofte spurt av folk om å synkronisere jobber enkelt for forskjellige mapper manuelt osv. Derfor tenkte jeg at jeg ville oppdatere denne instruksen med en lenke til et program jeg opprettet for å gjøre jobben. Det gir et brukergrensesnitt, slik at folk enkelt kan utføre en av synkroniseringsjobbene. Programmet kan lastes ned fra Github.

Anbefalt: