Innehållsförteckning:

Synkronisera mappar med Python: 5 steg
Synkronisera mappar med Python: 5 steg

Video: Synkronisera mappar med Python: 5 steg

Video: Synkronisera mappar med Python: 5 steg
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, Juli
Anonim
Synkronisera mappar med Python
Synkronisera mappar med Python
Synkronisera mappar med Python
Synkronisera mappar med Python

Denna instruerbara visar dig hur du håller två mappar (och alla mappar i dem) synkroniserade så att den ena är en direkt kopia av den andra. Perfekt för säkerhetskopiering av arbete både lokalt, till en moln-/nätverksserver eller en USB -enhet. Ingen erfarenhet av programmering är nödvändig för att slutföra denna handledning. Observera att detta bara fungerar med Windows även om processen liknar Mac och Linux.

Jag har en gammal Windows -dator som jag har installerat som fungerar som en server för olika funktioner, varav en är ett billigt nätverksanslutet lagringsutrymme som fungerar som både en mediaserver och säkerhetskopia till all min familjs datordata.

Eftersom min familj alla gillar att arbeta lokalt på sina datorer behövde vi ett enkelt sätt att regelbundet säkerhetskopiera våra data. Jag behövde också ett sätt att dubbla ner säkerhetskopian genom att implementera ett RAID -liknande tillvägagångssätt på två hårddiskar på server -datorn. Jag ville inte heller betala för någon programvara (ja jag vet snål jag). Som en konsekvens av detta tenderar all fri programvara att komma med popup -fönster eller till och med sakta ner datorn med långa synkroniseringstider och stor CPU -användning, vilket bara var irriterande.

Därför skrev jag med en liten ansträngning ett python -skript som skulle synkronisera de mappar vi alla behövde. Jag kunde sedan anpassa och distribuera detta till familjen som en körbar som jag kunde ställa in fönster för att köra regelbundet i bakgrunden. Datoranvändaren måste inte vara klokare.

Steg 1: Installera Python och beroenden

För att skapa det distribuerbara programmet måste du installera python på din dator. För att göra detta, följ webblänken här https://www.python.org/downloads/ och rulla ner tills du hittar den version du vill ha. Obs: Tyvärr, när du skriver modulen pyinstaller som vi kommer att använda fungerar inte ännu med python 3.8 så du måste använda en kompatibel version av python (3.5-3.7).

Följ installationen genom att markera kryssrutan "Lägg till PATH".

När du har installerat öppnar du en kommandotolk och installerar de python -moduler som vi behöver, gör följande genom att följa följande och följa upp alla instruktioner efter behov:

pip installera pyinstaller

pip installera dirsync

Steg 2: Python -skriptet

Skriptet är trevligt och enkelt, bara två rader, kopiera och klistra in följande i antingen IDLE (installerat med Python) eller anteckningsblock och spara som "DirectorySync.py":

från dirsync importsynkronisering

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

Se till att ändra de två mapparna ovan med de två mappar som du vill synkronisera. Det dubbla snedstrecket krävs i sökvägsnamnet eftersom bakåtstrecket är ett flyktecken i Python.

Den första raden importerar dirsync -modulen som vi installerade tidigare.

Den andra utför synkroniseringen. Den första mappen är källmappen och den andra är målet, 'synkroniseringen' är att berätta för synkroniseringsfunktionen vilket synkroniseringsläge som ska implementeras. Adding purge = True berättar för funktionen att radera allt i målmappen som inte längre finns i källmappen. Det finns andra alternativ som kan implementeras beroende på dina behov.

Hur det konfigureras ovan kommer också att synkronisera alla mappar i mappen på översta nivån, detta kan stoppas om det behövs. Om du vill synkronisera mer än en översta mapp lägger du bara till fler rader i din kod med funktionen sync (). För fler alternativ och hjälp se följande länk:

pypi.python.org/pypi/dirsync/2.2.2

Steg 3: Skapa.exe

För att skapa den körbara filen måste vi nu gå tillbaka till kommandotolken.

Skriv följande för att ersätta mappvägen med rutten till DirectorySync.py -skriptet som vi skapade i det sista steget:

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

I mapplatsen för ditt python -skript skapar detta en serie mappar: _pycache_, build, dist och två andra filer. I dist -mappen finns nu en fil som heter DirectorySync.exe, som kör denna kommer att utföra synkroniseringen i bakgrunden. Denna fil kan distribueras som den är till vem som helst och de kan sedan köra en synkronisering utan att behöva ha python installerat på datorn.

För att förklara vad som händer i FET text som skrevs i kommandotolken:

'pyinstaller' ber datorn att använda modulen pyinstaller som vi laddade ner tidigare

'-F' är ett alternativ som säger åt pyinstaller att bara generera en körbar och inte en serie mappar som också måste distribueras.

'-w' är ett alternativ som säger till datorn att inte visa en kommandotolk varje gång det kör skriptet.

Sökvägen är sökvägen till python -skriptet.

För fler alternativ och hjälp se länken nedan:

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

Steg 4: Kör automatiskt

Du är nu redo att synkronisera alla mappar utan att behöva kopiera, klistra in och ta bort flera gånger genom att bara dubbelklicka på den körbara filen. Men vi vill gå ett steg längre än så och få Windows att köra processen automatiskt så att du inte behöver oroa dig.

För att göra detta kommer vi att använda Task Scheduler -programmet som följer med Windows, denna process är baserad på Windows 10 men är nästan identisk på andra Windows -plattformar.

  1. Öppna uppgiftschemaläggaren från startmenyn.
  2. Välj 'Skapa uppgift' på menyn till höger.
  3. Ge den ett namn och en beskrivning och se till att den är konfigurerad för rätt operativsystem längst ner.
  4. På fliken 'Utlösare' skapar du en ny utlösare genom att klicka på 'Ny' längst ner till vänster, välj den konfiguration du vill ha i den nya popup -fönstret, jag valde att börja uppgiften vid Logga in och upprepa varje timme så jag vet att jag har en säkerhetskopia av mitt arbete varje timme. Klicka på OK.
  5. På fliken "Åtgärder" skapar du en ny åtgärd på samma sätt. Åtgärden vi behöver är att starta ett program som är standard. Bläddra till den körbara som vi skapade tidigare och välj. OBS:- om du flyttar den körbara filen efter att du har skapat uppgiften kommer inte uppgiften och därför synkroniseringen att slutföras.
  6. På fliken 'Förhållanden' avmarkerar du ströminställningarna så att den körs på batteri och är inkopplad.
  7. Klicka på OK och du har nu skapat din uppgift.

Starta om datorn och kontrollera efter en stund målmappens plats och se att synkroniseringen fungerade. Observera att om du har en stor mapp kan synkroniseringen ta ett tag att kopiera alla mappar över första gången.

Det här är handledningen komplett, jag hoppas att du tycker att den är användbar, frågor, meddela mig.

Steg 5: UPPDATERA 15 JAN 2020 - nedladdningsprogram

Jag använder fortfarande det här programmet som har tjänat mig bra Men jag har ofta blivit ombedd av människor att göra enstaka synkroniseringsjobb för olika mappar manuellt etc. Därför tänkte jag uppdatera denna instruktionsbok med en länk till ett program jag skapade för att göra jobbet. Det ger ett användargränssnitt så att människor enkelt kan göra ett av synkroniseringsjobb. Programmet kan laddas ner från Github.

Rekommenderad: