Satura rādītājs:

Mapju sinhronizēšana ar Python: 5 soļi
Mapju sinhronizēšana ar Python: 5 soļi

Video: Mapju sinhronizēšana ar Python: 5 soļi

Video: Mapju sinhronizēšana ar Python: 5 soļi
Video: Networking with Python! Basic Operating System (OS) Navigation 2024, Jūlijs
Anonim
Mapju sinhronizēšana ar Python
Mapju sinhronizēšana ar Python
Mapju sinhronizēšana ar Python
Mapju sinhronizēšana ar Python

Šī pamācība parādīs, kā divas mapes (un visas tajās esošās mapes) sinhronizēt, lai viena būtu tieša otras kopija. Ideāli piemērots darba dublēšanai gan lokāli, gan mākoņa/tīkla serverī vai USB diskdzinī. Lai pabeigtu šo apmācību, nav nepieciešama pieredze programmēšanā. Lūdzu, ņemiet vērā, ka tas darbojas tikai ar Windows, lai gan process ir līdzīgs operētājsistēmās Mac un Linux.

Man ir vecs Windows dators, kura iestatījumi darbojas kā serveris dažādām funkcijām, no kurām viena ir lēta tīklam pievienota krātuve, kas darbojas gan kā multivides serveris, gan kā rezerves kopija visiem manas ģimenes datora datiem.

Tā kā manai ģimenei visiem patīk lokāli strādāt pie saviem datoriem, mums bija nepieciešams vienkāršs veids, kā regulāri dublēt savus datus. Man arī vajadzēja veidu, kā dubultot dublējumu, īstenojot RAID līdzīgu pieeju diviem servera datora cietajiem diskiem. Es arī negribēju maksāt par kādu programmatūru (jā, es zinu skopo mani). Tā rezultātā visai bezmaksas programmatūrai ir tendence parādīties uznirstošajos logos vai pat palēnināt datora darbību ar ilgu sinhronizācijas laiku un lielu CPU izmantošanu, kas bija vienkārši kaitinoši.

Tāpēc ar nelielu piepūli es uzrakstīju pitona skriptu, kas sinhronizētu mums visas nepieciešamās mapes. Pēc tam es varētu to pielāgot un izplatīt ģimenei kā izpildāmu failu, kurā es varētu iestatīt logus, lai tie regulāri darbotos fonā. Datora lietotājam nebija jābūt prātīgākam.

1. darbība: Python un atkarību instalēšana

Lai izveidotu izplatāmo programmu, datorā jāinstalē python. Lai to izdarītu, sekojiet tīmekļa saitei šeit https://www.python.org/downloads/ un ritiniet uz leju, līdz atrodat vēlamo versiju. Piezīme. Diemžēl, rakstot moduli pyinstaller, kuru mēs izmantosim, vēl nedarbojas ar python 3.8, tāpēc jums būs jāizmanto saderīga python versija (3.5.

Sekojiet instalēšanai, atzīmējot izvēles rūtiņu "Pievienot ceļam".

Pēc instalēšanas atveriet komandu uzvedni un instalējiet mums nepieciešamos python moduļus, lai veiktu šo veidu un izpildītu visas nepieciešamās uzvednes:

pip instalēt instalētāju

pip instalēt dirsync

2. darbība: Python skripts

Skripts ir jauks un vienkāršs, tikai divas rindiņas, nokopējiet un ielīmējiet tālāk norādīto IDLE (instalēts kopā ar Python) vai piezīmju grāmatiņu un saglabājiet kā "DirectorySync.py":

no dirsync importēšanas sinhronizācijas

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

Noteikti nomainiet divas iepriekš minētās mapes ar divām mapēm, kuras vēlaties sinhronizēt. Ceļa nosaukumā ir jānorāda dubultā slīpsvītra, jo slīpsvītra ir aizbēgšanas rakstzīme programmā Python.

Pirmā rinda importē iepriekš instalēto dirsync moduli.

Otrais veic sinhronizāciju. Pirmā mape ir avota mape, bet otrā - mērķis, sinhronizācija norāda sinhronizācijas funkcijai, kādu sinhronizācijas režīmu ieviest. Purge = True pievienošana liek funkcijai izdzēst visu mērķa mapē, kas vairs nav avota mapē. Ir arī citas iespējas, kuras var īstenot atkarībā no jūsu vajadzībām.

Iepriekš konfigurētais veids sinhronizēs arī visas mapes augšējā līmeņa mapē, ja nepieciešams, to var apturēt. Ja vēlaties sinhronizēt vairākas augstākā līmeņa mapes, vienkārši pievienojiet savam kodam vairākas rindiņas, izmantojot funkciju sync (). Lai iegūtu vairāk iespēju un palīdzību, skatiet šo saiti:

pypi.python.org/pypi/dirsync/2.2.2

3. darbība. Izveidojiet.exe

Lai izveidotu izpildāmo failu, mums tagad jāatgriežas pie komandu uzvednes.

Ierakstiet tālāk norādīto, aizstājot mapes ceļu ar maršrutu uz DirectorySync.py skriptu, ko izveidojam pēdējā solī:

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

Jūsu python skripta mapju atrašanās vietā tiek izveidota virkne mapju: _pycache_, build, dist un divi citi faili. Dist mapē tagad ir fails ar nosaukumu DirectorySync.exe, palaižot to, tiks veikta sinhronizācija fonā. Šo failu var izplatīt ikvienam, un pēc tam viņš var palaist sinhronizāciju bez nepieciešamības datorā instalēt python.

Lai izskaidrotu, kas notiek BOLD tekstā, kas tika ierakstīts komandu uzvednē:

“pyinstaller” liek datoram izmantot iepriekš lejupielādēto moduļa pyinstaller

“-F” ir opcija, kas liek pyinstaller ģenerēt tikai vienu izpildāmo failu, nevis mapju sēriju, kas arī būtu jāizplata.

“-w” ir opcija, kas datoram liek nerādīt komandu uzvedni katru reizi, kad tiek palaists skripts.

Ceļš ir ceļš uz python skriptu.

Lai iegūtu vairāk iespēju un palīdzību, skatiet zemāk esošo saiti:

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

4. darbība. Automātiska darbība

Tagad esat gatavs sinhronizēt visas mapes bez atkārtotas kopēšanas, ielīmēšanas un dzēšanas, vienkārši veicot dubultklikšķi uz izpildāmā faila. Bet mēs vēlamies iet soli tālāk un panākt, lai sistēma Windows automātiski palaistu procesu, lai jums nebūtu jāuztraucas.

Lai to izdarītu, mēs izmantosim uzdevumu plānotāja programmu, kas nāk kopā ar Windows, šis process ir balstīts uz Windows 10, bet ir gandrīz identisks citās Windows platformās.

  1. Sākuma izvēlnē atveriet uzdevumu plānotāju.
  2. Labajā pusē izvēlnē atlasiet “Izveidot uzdevumu”.
  3. Piešķiriet tam nosaukumu un aprakstu, un apakšā pārliecinieties, vai tas ir konfigurēts pareizajai operētājsistēmai.
  4. Cilnē “Aktivizētāji” izveidojiet jaunu aktivizētāju, apakšējā kreisajā stūrī noklikšķinot uz “Jauns”, jaunajā uznirstošajā logā atlasiet vēlamo konfigurāciju, es izvēlējos sākt uzdevumu pie Pieteikšanās un atkārtot katru stundu, lai es zinātu, ka katru stundu dublēt manu darbu. Noklikšķiniet uz Labi.
  5. Cilnē Darbības tādā pašā veidā izveidojiet jaunu darbību. Mums ir jāuzsāk noklusējuma programma. Pārlūkojiet līdz iepriekš izveidotajam izpildāmajam failam un atlasiet. PIEZĪME:- ja pārvietojat izpildāmo failu pēc uzdevuma izveidošanas, uzdevums un līdz ar to sinhronizācija netiks pabeigta.
  6. Cilnē “Nosacījumi” pārbaudiet strāvas iestatījumus, lai tas darbotos ar akumulatoru un būtu pievienots.
  7. Noklikšķiniet uz Labi un tagad esat izveidojis savu uzdevumu.

Restartējiet datoru un pēc kāda laika pārbaudiet mērķa mapes atrašanās vietu un pārliecinieties, vai sinhronizācija ir darbojusies. Lūdzu, ņemiet vērā, ja jums ir liela mape, sinhronizācija var aizņemt kādu laiku, lai visas mapes kopētu pirmo reizi.

Šī apmācība ir pabeigta, es ceru, ka jums tā būs noderīga, ja jums ir kādi jautājumi, dariet man to zināmu.

5. darbība: 2020. gada 15. janvāra atjaunināšana - lejupielādes programma

Es joprojām izmantoju šo programmu, kas man ir labi kalpojusi. Tomēr cilvēki bieži ir lūguši manuāli sinhronizēt darbus dažādām mapēm utt. Tāpēc es domāju, ka atjaunināšu šo Instructable ar saiti uz programmu, kuru izveidoju, lai veiktu darbu. Tas nodrošina lietotāja saskarni, lai cilvēki varētu viegli veikt kādu no sinhronizācijas darbiem. Programmu var lejupielādēt no Github.

Ieteicams: