Mündəricat:

Python ilə Qovluqların Sinxronizasiyası: 5 addım
Python ilə Qovluqların Sinxronizasiyası: 5 addım

Video: Python ilə Qovluqların Sinxronizasiyası: 5 addım

Video: Python ilə Qovluqların Sinxronizasiyası: 5 addım
Video: #5 Linux - File Management part 2 (Fayl və Qovluqlar) 2024, Iyul
Anonim
Python ilə Qovluqların Sinxronlaşdırılması
Python ilə Qovluqların Sinxronlaşdırılması
Python ilə Qovluqların Sinxronizasiyası
Python ilə Qovluqların Sinxronizasiyası

Bu təlimat, iki qovluğun (və içindəki bütün qovluqların) sinxronizasiyada saxlanılmasını göstərəcək, belə ki, biri digərinin birbaşa surətidir. Həm yerli, həm də bulud/şəbəkə serverinə və ya USB sürücüsünə dəstək vermək üçün idealdır. Bu təlimatı tamamlamaq üçün proqramlaşdırma ilə bağlı heç bir təcrübəyə ehtiyac yoxdur. Unutmayın ki, bu proses Mac və Linux -da oxşar olsa da yalnız Windows ilə işləyir.

Köhnə bir Windows kompüterim var ki, müxtəlif funksiyalar üçün server rolunu oynayıram, bunlardan biri həm ailənizin kompüter məlumatlarının həm media serveri, həm də ehtiyat nüsxəsi kimi çıxış edən ucuz bir şəbəkə bağlı saxlama yeridir.

Ailəm hamısı kompüterlərində yerli işləmək istədikləri üçün məlumatlarımızı müntəzəm olaraq yedəkləmək üçün asan bir yola ehtiyacımız var idi. Server PC -də iki sabit diskdə RAID kimi bir yanaşma tətbiq edərək ehtiyat nüsxəsini ikiqat artırmağın bir yoluna ehtiyacım var idi. Həm də heç bir proqram üçün pul ödəmək istəmirdim (bəli, xəsis bilirəm). Bunun nəticəsi olaraq, bütün pulsuz proqramlar pop -uplarla gəlir və ya uzun sinxronizasiya müddətləri və böyük CPU istifadəsi ilə PC -ni yavaşlatır, bu da əsəbiləşirdi.

Buna görə də kiçik bir səylə ehtiyac duyduğumuz qovluqları sinxronlaşdıracaq bir python skript yazdım. Daha sonra bunu arxa planda müntəzəm olaraq işləməsi üçün pəncərələr qura biləcəyim bir icraedici fayl kimi ailəyə paylaya və paylaya bilərdim. Kompüter istifadəçisi daha ağıllı olmamalı idi.

Addım 1: Python və Asılılıqların Qurulması

Dağıtılabilir bir proqram yaratmaq üçün kompüterinizə python yükləməlisiniz. Bunu etmək üçün buradakı https://www.python.org/downloads/ veb bağlantısını izləyin və istədiyiniz versiyanı tapana qədər aşağı diyirləyin. Qeyd: Təəssüf ki, istifadə edəcəyimiz pyinstaller modulu yazılarkən python 3.8 ilə hələ işləmir, buna görə uyğun bir python versiyasını (3.5-3.7) istifadə etməlisiniz.

"YOLA Əlavə et" onay qutusunu işarələməyinizə əmin olaraq quraşdırmanı izləyin.

Quraşdırıldıqdan sonra bir əmr istəyi açın və ehtiyac duyduğumuz python modullarını quraşdırın, bu cür yazın və lazım olduqda hər hansı bir istəklə hərəkət edin:

pyinstaller quraşdırın

pip dirsync quraşdırın

Addım 2: Python Script

Skript gözəl və sadədir, yalnız iki sətir, aşağıdakıları kopyalayın və ya IDLE (Python ilə quraşdırılmış) və ya notepad -a yapışdırın və "DirectorySync.py" olaraq qeyd edin:

dirsync idxal sinxronizasiyasından

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

Sinxronizasiya etmək istədiyiniz iki qovluqla yuxarıdakı iki qovluğu dəyişdirdiyinizə əmin olun. Yol adında ikiqat arxa cızma tələb olunur, çünki arxa cızma Pythonda bir qaçış xarakteridir.

Birinci xətt əvvəllər quraşdırdığımız dirsync modulunu idxal edir.

İkincisi sinxronizasiya edir. Birinci qovluq mənbə qovluğudur, ikincisi hədəfdir, 'sinxronizasiya' sinxronizasiya funksiyasının hansı sinxronizasiya rejiminin tətbiq olunacağını izah edir. Purge = True əlavə etmək funksiyaya, hədəf qovluğunda artıq mənbə qovluğunda olmayan hər şeyi silməyi bildirir. Ehtiyaclarınızdan asılı olaraq həyata keçirilə biləcək başqa variantlar da var.

Yuxarıda konfiqurasiya edildiyi kimi, üst səviyyəli qovluqdakı bütün qovluqları da sinxronlaşdıracaq, lazım gələrsə bu dayandırıla bilər. Birdən çox üst səviyyəli qovluğu sinxronizasiya etmək istəyirsinizsə, sadəcə sync () funksiyası ilə kodunuza daha çox sətir əlavə edin. Daha çox seçim və kömək üçün aşağıdakı linkə baxın:

pypi.python.org/pypi/dirsync/2.2.2

Addım 3:.exe yaratmaq

İcra olunan fayl yaratmaq üçün indi yenidən əmr satırına keçməliyik.

Qovluq yolunu son addımda yaratdığımız DirectorySync.py skriptinə gedən yolla əvəz edərək aşağıdakıları yazın:

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

Python skriptinizin qovluq yerində bu bir sıra qovluqlar yaradır: _pycache_, build, dist və digər iki fayl. Dist qovluğunda indi DirectorySync.exe adlı bir fayl var, bunun işləməsi arxa planda sinxronizasiya aparacaq. Bu fayl hər kəsə olduğu kimi paylana bilər və sonra kompüterdə python yükləmədən bir sinxronizasiya edə bilərlər.

Əmr əmrində yazılmış BOLD mətnində nələrin baş verdiyini izah etmək üçün:

'pyinstaller' kompüterə əvvəllər endirdiyimiz pyinstaller modulundan istifadə etməsini söyləyin

'-F', pyinstaller-ə yalnız bir icra edilə bilən faylın yaradılmasını və eyni zamanda yayılması lazım olan bir sıra qovluq yaratmamasını söyləyən bir seçimdir.

'-w', kompüterə hər dəfə skript işlədikdə bir əmr istəməməsini bildirən bir seçimdir.

Yol, python skriptinə gedən yoldur.

Daha çox seçim və kömək üçün aşağıdakı linkə baxın:

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

Addım 4: Avtomatik olaraq işləyin

İndi icra olunan faylın üzərinə iki dəfə basmaqla hər hansı bir qovluğu təkrar -təkrar kopyalamaq, yapışdırmaq və silmək məcburiyyətində olmadan sinxronizasiya etməyə hazırsınız. Ancaq bundan bir addım daha irəli getmək və Windows -un prosesi avtomatik olaraq idarə etməsini istəyirik ki, narahat olmasın.

Bunu etmək üçün Windows ilə gələn Task Scheduler proqramını istifadə edəcəyik, bu proses Windows 10 -a əsaslanır, lakin digər Windows platformalarında demək olar ki, eynidir.

  1. Başlat menyusundan Tapşırıq Planlayıcısını açın.
  2. Sağ tərəfdəki menyudan 'Tapşırıq Yarat' seçin.
  3. Bir ad və təsvir verin və alt hissədə düzgün əməliyyat sistemi üçün konfiqurasiya olunduğundan əmin olun.
  4. 'Tetikleyiciler' sekmesinde, sol altdakı 'Yeni' düyməsini basaraq yeni bir tetikleyici yaradın, yeni açılan pəncərədə istədiyiniz konfiqurasiyanı seçin, Girişdəki vəzifəyə başlamağı və hər saatda təkrar etməyi seçdim hər saat işimin ehtiyat nüsxəsini çıxarın. OK düyməsini basın.
  5. 'Fəaliyyətlər' sekmesinde eyni şəkildə yeni bir hərəkət yaradın. Lazım olan hərəkət, standart olan bir proqramı başlatmaqdır. Daha əvvəl yaratdığımız icra olunan fayllara baxın və seçin. DİQQƏT:- tapşırığı yaratdıqdan sonra icra olunan faylları hərəkət etdirsəniz, tapşırıq və buna görə də sinxronizasiya tamamlanmayacaq.
  6. 'Şərtlər' sekmesinde, güc parametrlərini yoxlayın, belə ki, batareya ilə işləyəcək və qoşulmuşdur.
  7. Tamam'ı basın və indi vəzifənizi yaratdınız.

Kompüteri yenidən başladın və bir müddət sonra hədəf qovluğun yerini yoxlayın və sinxronizasiyanın işlədiyini görün, böyük bir qovluğunuz varsa, sinxronizasiyanın bütün qovluqları ilk dəfə kopyalaması bir müddət çəkə bilər.

Dərslik tamamlandı, ümid edirəm faydalı ola bilər, hər hansı bir sualınız varsa, mənə bildirin.

Addım 5: 15 JAN 2020 GÜNCƏLƏNdir - Proqramı Yükləyin

Hələ də mənə yaxşı xidmət edən bu proqramı istifadə edirəm. Ancaq insanlar tərəfindən tez -tez fərqli qovluqlar üçün əl işlərinin bir dəfə sinxronlaşdırılması tələb olunurdu. Buna görə də bu Təlimatı işimi yerinə yetirmək üçün yaratdığım bir proqramla əlaqələndirərək yeniləyəcəyimi düşünürdüm.. Bir istifadəçi interfeysi təmin edir ki, insanlar asanlıqla sinxronizasiya işlərindən birini edə bilsinlər. Proqramı Github -dan yükləyə bilərsiniz.

Tövsiyə: