Indholdsfortegnelse:

Synkronisering af mapper med Python: 5 trin
Synkronisering af mapper med Python: 5 trin

Video: Synkronisering af mapper med Python: 5 trin

Video: Synkronisering af mapper med Python: 5 trin
Video: ВСЕ БОССЫ DARK SOULS 2 ОТ ХУДШЕГО К ЛУЧШЕМУ ТОП 2024, Juli
Anonim
Synkronisering af mapper med Python
Synkronisering af mapper med Python
Synkronisering af mapper med Python
Synkronisering af mapper med Python

Denne instruktør viser dig, hvordan du holder to mapper (og alle mapper i dem) synkroniseret, så den ene er en direkte kopi af den anden. Ideel til sikkerhedskopiering af arbejde både lokalt, til en cloud-/netværksserver eller et USB -drev. Ingen erfaring med programmering er nødvendig for at fuldføre denne vejledning. Bemærk, at dette kun fungerer med Windows, selvom processen ligner Mac og Linux.

Jeg har en gammel Windows -computer, som jeg har opsat til at fungere som en server til forskellige funktioner, hvoraf den ene er et billigt netværkstilsluttet lager, der fungerer som både en medieserver og backup til alle min families computerdata.

Da min familie alle kan lide at arbejde lokalt på deres pc'er, havde vi brug for en nem måde at tage backup af vores data regelmæssigt. Jeg havde også brug for en måde at fordoble backupen ved at implementere en RAID -lignende tilgang på to harddiske på server -pc'en. Jeg ville heller ikke betale for nogen software (ja jeg kender nærig mig). Som en konsekvens af dette har al gratis software en tendens til at komme med pop -ups eller endda bremse pc'en med lange synkroniseringstider og stor CPU -brug, hvilket bare var irriterende.

Derfor skrev jeg med en lille smule indsats et python -script, som ville synkronisere de mapper, vi alle havde brug for. Jeg kunne derefter tilpasse og distribuere dette til familien som en eksekverbar, som jeg kunne sætte vinduer til at køre regelmæssigt i baggrunden. Computerbrugeren måtte ikke være klogere.

Trin 1: Installation af Python og afhængigheder

For at oprette det distribuerbare program skal du installere python på din computer. For at gøre dette skal du følge weblinket her https://www.python.org/downloads/ og rulle ned, indtil du finder den ønskede version. Bemærk: Ved skrivning af modulet pyinstaller, som vi vil bruge, fungerer desværre ikke endnu med python 3.8, så du bliver nødt til at bruge en kompatibel version af python (3.5-3.7).

Følg installationen, og sørg for at markere afkrydsningsfeltet "Føj til PATH".

Når den er installeret, skal du åbne en kommandoprompt og installere de python -moduler, vi har brug for. For at gøre denne type skal du følge følgende og følge op med eventuelle prompts efter behov:

pip installer pyinstaller

pip installer dirsync

Trin 2: Python -scriptet

Scriptet er pænt og enkelt, kun to linjer, kopier og indsæt følgende i enten IDLE (installeret med Python) eller notesblok og gem som "DirectorySync.py":

fra dirsync importsynkronisering

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

Sørg for at ændre de to mapper ovenfor med de to mapper, du vil synkronisere. Den dobbelte backslash er påkrævet i stinavnet, da backslash er et flugttegn i Python.

Den første linje importerer det dirsync -modul, vi tidligere har installeret.

Den anden udfører synkroniseringen. Den første mappe er kildemappen, og den anden er målet, 'synkroniseringen' fortæller den synkroniseringsfunktion, hvilken synkroniseringstilstand der skal implementeres. Adding purge = True fortæller funktionen at slette alt i målmappen, som ikke længere er i kildemappen. Der er andre muligheder, der kan implementeres afhængigt af dine behov.

Den måde, den er konfigureret ovenfor, synkroniserer også alle mapperne i mappen på øverste niveau, dette kan stoppes, hvis det kræves. Hvis du vil synkronisere mere end en topmappe, skal du blot tilføje flere linjer til din kode med funktionen sync (). For flere muligheder og hjælp se følgende link:

pypi.python.org/pypi/dirsync/2.2.2

Trin 3: Oprettelse af.exe

For at oprette den eksekverbare skal vi nu gå tilbage til kommandoprompten.

Indtast følgende for at erstatte mappestien med ruten til DirectorySync.py -scriptet, vi oprettede i det sidste trin:

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

I mappeplaceringen af dit python -script opretter dette en række mapper: _pycache_, build, dist og to andre filer. I dist -mappen er nu en fil kaldet DirectorySync.exe, der kører dette, udfører synkroniseringen i baggrunden. Denne fil kan distribueres som den er til alle, og de kan derefter køre en synkronisering uden at skulle have python installeret på computeren.

For at forklare, hvad der foregår i den FEDE tekst, der blev skrevet i kommandoprompten:

'pyinstaller' fortælle computeren at bruge modulet pyinstaller, som vi downloadede tidligere

'-F' er en mulighed, der fortæller pyinstaller til kun at generere en eksekverbar og ikke en række mapper, der også skulle distribueres.

'-w' er en mulighed, der fortæller computeren ikke at vise en kommandoprompt hver gang det kører scriptet.

Stien er stien til python -scriptet.

For flere muligheder og hjælp se nedenstående link:

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

Trin 4: Kører automatisk

Du er nu klar til at synkronisere alle mapper uden at skulle kopiere, indsætte og slette gentagne gange ved blot at dobbeltklikke på den eksekverbare fil. Men vi vil gå et skridt videre end det og få Windows til at køre processen automatisk, så du ikke behøver at bekymre dig.

For at gøre dette vil vi bruge det Task Scheduler -program, der følger med Windows, denne proces er baseret på Windows 10, men er næsten identisk på andre Windows -platforme.

  1. Åbn Task Scheduler fra startmenuen.
  2. Vælg 'Opret opgave' i menuen i højre side.
  3. Giv det et navn og en beskrivelse, og sørg for, at det er konfigureret til det rigtige operativsystem i bunden.
  4. På fanen 'Udløsere' skal du oprette en ny trigger ved at klikke på 'Ny' nederst til venstre, i den nye pop -up vælg den konfiguration, du vil have, jeg valgte at starte opgaven ved Log på og gentage hver time, så jeg ved, at jeg har en backup af mit arbejde hver time. Klik på OK.
  5. Opret en ny handling på fanen 'Handlinger' på samme måde. Den handling, vi har brug for, er at starte et program, der er standard. Gennemse den eksekverbare, vi har oprettet tidligere, og vælg. BEMÆRK:- hvis du flytter den eksekverbare fil efter oprettelsen af opgaven, vil opgaven og derfor synkroniseringen ikke blive fuldført.
  6. På fanen 'Betingelser' skal du kontrollere strømindstillingerne, så den kører på batteri og tilsluttes.
  7. Klik på OK, og du har nu oprettet din opgave.

Genstart computeren, og efter et stykke tid skal du kontrollere målmappens placering og se, at synkroniseringen fungerede. Bemærk, at hvis du har en stor mappe, kan det tage et stykke tid at synkronisere alle mapperne på tværs af første gang.

Det er vejledningen komplet, jeg håber, at du finder den nyttig, spørgsmål, lad mig vide.

Trin 5: OPDATER 15. JAN 2020 - Download program

Jeg bruger stadig dette program, som har tjent mig godt Men jeg er ofte blevet bedt af folk om at synkronisere engangsjob for forskellige mapper manuelt osv. Derfor tænkte jeg, at jeg ville opdatere denne instruktør med et link til et program, jeg oprettede for at udføre jobbet. Det giver en brugergrænseflade, så folk nemt kan udføre et af synkroniseringsjob. Programmet kan downloades fra Github.

Anbefalede: