Talaan ng mga Nilalaman:

Pag-sync ng Mga Folder Sa Python: 5 Hakbang
Pag-sync ng Mga Folder Sa Python: 5 Hakbang

Video: Pag-sync ng Mga Folder Sa Python: 5 Hakbang

Video: Pag-sync ng Mga Folder Sa Python: 5 Hakbang
Video: Камера ANBIUX ДВУГЛАЗКА УДИВИЛА после ОБНОВЛЕНИЯ!!! 2024, Nobyembre
Anonim
Pag-sync ng Mga Folder Sa Python
Pag-sync ng Mga Folder Sa Python
Pag-sync ng Mga Folder Sa Python
Pag-sync ng Mga Folder Sa Python

Ituturo sa iyo ang itinuturo na ito kung paano panatilihing naka-sync ang dalawang folder (at lahat ng mga folder sa loob nito) kaya't ang isa ay isang direktang kopya ng isa pa. Akma para sa pag-back up ng trabaho sa parehong lokal, sa isang cloud / network server o isang USB drive. Walang karanasan sa pagprograma ang kinakailangan upang makumpleto ang tutorial na ito. Mangyaring tandaan na gagana lamang ito sa Windows bagaman ang proseso ay katulad sa Mac at Linux.

Mayroon akong isang lumang windows computer na mayroon akong setup na kumikilos bilang isang server para sa iba't ibang mga pag-andar, isa sa mga ito ay isang murang naka-attach na imbakan ng network na gumaganap bilang kapwa isang media server at backup sa lahat ng data ng computer ng aking pamilya.

Tulad ng kagustuhan ng aking pamilya na magtrabaho nang lokal sa kanilang mga PC, kailangan namin ng isang madaling paraan upang mai-backup ang aming data nang regular. Kailangan ko rin ng isang paraan upang doblehin ang backup sa pamamagitan ng pagpapatupad ng isang RAID tulad ng diskarte sa dalawang hard drive sa server PC. Hindi ko rin nais na magbayad para sa anumang software (oo alam kong kuripot ako). Bilang kinahinatnan nito, ang lahat ng libreng software ay may posibilidad na magkaroon ng mga pop up o kahit pinabagal ang PC na may mahabang oras ng pag-sync at malaking paggamit ng CPU, na nakakainis lang.

Samakatuwid sa isang maliit na pagsisikap, nagsulat ako ng isang script ng sawa na kung saan ay mai-sync ang mga folder na kailangan namin lahat. Maaari ko ring ipasadya at ipamahagi ito sa pamilya bilang isang maipapatupad na maitatakda ko ang mga bintana upang tumakbo nang regular sa likuran. Ang gumagamit ng computer ay dapat na wala nang mas marunong.

Hakbang 1: Pag-install ng Python at Mga Dependency

Upang likhain ang maipamahaging programa na kailangan mo upang mag-install ng sawa sa iyong computer. Upang gawin ito sundin ang web link dito https://www.python.org/downloads/ at mag-scroll pababa hanggang makita mo ang nais mong bersyon. Tandaan: Sa kasamaang palad, tulad ng pagsulat ng module pyinstaller na gagamitin namin ay hindi gagana pa sa python 3.8 kaya kakailanganin mong gumamit ng isang katugmang bersyon ng sawa (3.5-3.7).

Sundin ang pag-install sa pamamagitan ng pagtiyak na lagyan ng tsek ang "Idagdag sa PATH" na checkbox.

Kapag na-install buksan ang isang prompt ng utos at i-install ang mga module ng python na kailangan namin, upang gawin ang ganitong uri sa sumusunod at sundin ang anumang mga senyas tulad ng kinakailangan:

pip install pyinstaller

pip install dirsync

Hakbang 2: Ang Python Script

Ang script ay maganda at simple, dalawang linya lamang, kopyahin at i-paste ang sumusunod sa alinman sa IDLE (naka-install sa Python) o notepad at i-save bilang "DirectorySync.py":

mula sa dirsync import sync

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

Tiyaking baguhin ang dalawang folder sa itaas gamit ang dalawang folder na nais mong i-sync. Ang dobleng backslash ay kinakailangan sa pangalan ng landas dahil ang backslash ay isang character na makatakas sa Python.

Ini-import ng unang linya ang dirsync module na na-install namin dati.

Ginagawa ng pangalawa ang pag-sync. Ang unang folder ay ang pinagmulang folder at ang pangalawa ay ang target, ang 'pag-sync' ay ang pagsasabi sa pag-andar ng pag-sync kung ano ang ipatutupad na mode ng pag-sync. Pagdaragdag ng purge = Sinasabi ng totoo ang pagpapaandar upang tanggalin ang anumang bagay sa target na folder na wala na sa pinagmulang folder. Mayroong iba pang mga pagpipilian na maaaring ipatupad depende sa iyong mga pangangailangan.

Ang paraan ng pag-configure sa itaas ay magsi-sync din sa lahat ng mga folder sa loob ng tuktok na antas ng folder din, maaari itong ihinto kung kinakailangan. Kung nais mong i-sync ang higit sa isang tuktok na antas ng folder, magdagdag lamang ng maraming mga linya sa iyong code gamit ang pag-andar () na pag-sync. Para sa higit pang mga pagpipilian at tulungan makita ang sumusunod na link:

pypi.python.org/pypi/dirsync/2.2.2

Hakbang 3: Lumilikha ng.exe

Upang likhain ang maipapatupad kailangan na natin ngayon upang bumalik sa prompt ng utos.

I-type ang sumusunod na kapalit ng path ng folder na may ruta sa DirectorySync.py script na nilikha namin sa huling hakbang:

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

Sa lokasyon ng folder ng iyong python script lumilikha ito ng isang serye ng mga folder: _pycache_, build, dist at dalawang iba pang mga file. Sa dist folder ngayon ay isang file na tinatawag na DirectorySync.exe, na tumatakbo dito ay isasagawa ang pag-sync sa background. Ang file na ito ay maaaring ipamahagi tulad ng sa sinuman at maaari silang magpatakbo ng isang pag-sync nang hindi kinakailangang mai-install ang sawa sa computer.

Upang ipaliwanag kung ano ang nangyayari sa teksto ng BOLD na na-type sa command prompt:

Sabihin ng 'pyinstaller' sa computer na gamitin ang module na pyinstaller na na-download namin nang mas maaga

Ang '-F' ay isang pagpipilian na nagsasabi sa pyinstaller na bumuo lamang ng isang maipapatupad at hindi isang serye ng mga folder na kailangan ding ipamahagi.

Ang '-w' ay isang pagpipilian na nagsasabi sa computer na huwag ipakita ang isang prompt ng utos sa tuwing pinapatakbo nito ang script.

Ang landas ay ang landas sa script ng sawa.

Para sa higit pang mga pagpipilian at tulungan tingnan ang link sa ibaba:

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

Hakbang 4: Awtomatikong Tumatakbo

Handa ka na ngayong i-sync ang anumang mga folder nang hindi kinakailangang kumopya, i-paste at tanggalin nang paulit-ulit sa pamamagitan lamang ng pag-double click sa maipapatupad. Ngunit nais naming magpatuloy sa isang hakbang na higit pa rito at awtomatikong patakbuhin ng Windows ang proseso upang hindi ka mag-alala.

Upang magawa ito gagamitin namin ang programa ng Task scheduler na kasama ng Windows, ang prosesong ito ay batay sa Windows 10 ngunit halos magkapareho sa iba pang mga platform sa Windows.

  1. Buksan ang Iskedyul ng Gawain mula sa start menu.
  2. Sa kanang bahagi ay piliin ang 'Lumikha ng Gawain' mula sa menu.
  3. Bigyan ito ng isang pangalan at paglalarawan at sa ibabang siguraduhin na naka-configure ito para sa tamang operating system.
  4. Sa tab na 'Mga Trigger', lumikha ng isang bagong gatilyo sa pamamagitan ng pag-click sa 'Bago' sa kaliwang bahagi sa ibaba, sa bagong pop up piliin ang pagsasaayos na gusto mo, pinili ko upang simulan ang gawain sa Mag-log on at ulitin bawat oras upang malaman ko na magkaroon ng isang backup ng aking trabaho sa bawat oras. Mag-click sa OK.
  5. Sa tab na 'Mga Pagkilos' lumikha ng isang bagong aksyon sa parehong paraan. Ang aksyon na kailangan namin ay upang simulan ang isang programa na ang default. Mag-browse sa maipapatupad na nilikha namin nang mas maaga at pumili. TANDAAN: - Kung ilipat mo ang naisakatuparan pagkatapos lumikha ng gawain, ang gawain at samakatuwid ang pag-sync ay hindi makukumpleto.
  6. Sa tab na 'Mga Kundisyon' de-suriin ang mga setting ng kuryente upang ito ay tumakbo sa baterya pati na rin naka-plug in.
  7. Mag-click sa OK at nalikha mo na ang iyong gawain.

I-restart ang computer at pagkatapos ng ilang sandali suriin ang lokasyon ng target na folder at makita na gumana ang pag-sync, mangyaring tandaan kung mayroon kang isang malaking folder, ang pag-sync ay maaaring magtagal upang makopya ang lahat ng mga folder sa unang pagkakataon.

Kumpleto na ang tutorial, inaasahan kong kapaki-pakinabang ito, anumang mga katanungan, ipaalam sa akin.

Hakbang 5: I-UPDATE 15 JAN 2020 - I-download ang Program

Ginagamit ko pa rin ang program na ito na nagsilbi sa akin ng maayos Gayunpaman madalas akong tinanong ng mga tao na gawin ang isang pag-syncing ng mga trabaho para sa iba't ibang mga folder nang manu-mano atbp Samakatuwid naisip ko na ia-update ang Instructable na ito sa isang link sa isang program na nilikha ko upang gawin ang trabaho. Nagbibigay ito ng isang interface ng gumagamit upang ang mga tao ay madaling makagawa ng isa sa mga trabaho sa pag-sync. Maaaring ma-download ang programa mula sa Github.

Inirerekumendang: