Mục lục:

Đồng bộ hóa thư mục với Python: 5 bước
Đồng bộ hóa thư mục với Python: 5 bước

Video: Đồng bộ hóa thư mục với Python: 5 bước

Video: Đồng bộ hóa thư mục với Python: 5 bước
Video: Schedule SyncToy to Run Automatically Đồng Bộ Hai Thư Mục Cùng Mạng bằng SyncToy 2024, Tháng mười một
Anonim
Đồng bộ hóa thư mục với Python
Đồng bộ hóa thư mục với Python
Đồng bộ hóa thư mục với Python
Đồng bộ hóa thư mục với Python

Tài liệu hướng dẫn này sẽ chỉ cho bạn cách giữ hai thư mục (và tất cả các thư mục bên trong chúng) đồng bộ để một thư mục là bản sao trực tiếp của thư mục kia. Lý tưởng để sao lưu công việc cục bộ, lên máy chủ mạng / đám mây hoặc ổ USB. Không cần có kinh nghiệm về lập trình để hoàn thành hướng dẫn này. Xin lưu ý rằng điều này chỉ hoạt động với Windows mặc dù quá trình này tương tự trên Mac và Linux.

Tôi có một máy tính windows cũ mà tôi đã thiết lập hoạt động như một máy chủ cho nhiều chức năng khác nhau, một trong số đó là một bộ lưu trữ gắn mạng rẻ tiền hoạt động như một máy chủ đa phương tiện và sao lưu cho tất cả dữ liệu máy tính của gia đình tôi.

Vì gia đình tôi đều thích làm việc cục bộ trên PC của họ, nên chúng tôi cần một cách dễ dàng để sao lưu dữ liệu thường xuyên. Tôi cũng cần một cách để nhân đôi bản sao lưu bằng cách triển khai phương pháp RAID giống như trên hai ổ cứng trên PC máy chủ. Tôi cũng không muốn trả tiền cho bất kỳ phần mềm nào (vâng tôi biết tôi keo kiệt). Do đó, tất cả phần mềm miễn phí có xu hướng đi kèm với cửa sổ bật lên hoặc thậm chí làm chậm PC với thời gian đồng bộ hóa lâu và sử dụng CPU lớn, điều này thật khó chịu.

Do đó, với một chút nỗ lực nhỏ, tôi đã viết một tập lệnh python sẽ đồng bộ hóa các thư mục mà tất cả chúng ta cần. Sau đó, tôi có thể tùy chỉnh và phân phối tệp này cho gia đình dưới dạng tệp thực thi mà tôi có thể đặt các cửa sổ chạy thường xuyên trong nền. Người sử dụng máy tính không phải là người khôn ngoan hơn.

Bước 1: Cài đặt Python và các phụ thuộc

Để tạo chương trình có thể phân phối, bạn cần cài đặt python trên máy tính của mình. Để thực hiện việc này, hãy truy cập liên kết web tại đây https://www.python.org/downloads/ và cuộn xuống cho đến khi bạn tìm thấy phiên bản mình muốn. Lưu ý: Rất tiếc, khi viết trình cài đặt mô-đun mà chúng tôi sẽ sử dụng chưa hoạt động với python 3.8, vì vậy bạn sẽ cần sử dụng phiên bản tương thích của python (3.5-3.7).

Thực hiện theo cài đặt thông qua đảm bảo đánh dấu vào hộp kiểm "Thêm vào PATH".

Sau khi cài đặt, hãy mở dấu nhắc lệnh và cài đặt các mô-đun python chúng tôi cần, để thực hiện việc này, hãy nhập như sau và thực hiện theo bất kỳ lời nhắc nào theo yêu cầu:

pip cài đặt pyinstaller

pip cài đặt dirsync

Bước 2: Tập lệnh Python

Tập lệnh rất hay và đơn giản, chỉ có hai dòng, sao chép và dán phần sau vào IDLE (được cài đặt bằng Python) hoặc notepad và lưu dưới dạng "DirectorySync.py":

từ đồng bộ hóa nhập dirsync

đồng bộ hóa ('C: / FOLDER_A', 'E: / FOLDER_B', 'đồng bộ hóa', thanh lọc = Đúng)

Đảm bảo thay đổi hai thư mục trên bằng hai thư mục bạn muốn đồng bộ hóa. Dấu gạch chéo ngược kép là bắt buộc trong tên đường dẫn vì dấu gạch chéo ngược là một ký tự thoát trong Python.

Dòng đầu tiên nhập mô-đun dirsync mà chúng tôi đã cài đặt trước đó.

Thứ hai thực hiện đồng bộ hóa. Thư mục đầu tiên là thư mục nguồn và thư mục thứ hai là đích, 'đồng bộ hóa' là thông báo cho chức năng đồng bộ biết chế độ đồng bộ hóa cần triển khai. Thêm thanh lọc = True cho biết chức năng xóa bất kỳ thứ gì trong thư mục đích không còn trong thư mục nguồn. Có các tùy chọn khác có thể được thực hiện tùy thuộc vào nhu cầu của bạn.

Cách cấu hình ở trên cũng sẽ đồng bộ hóa tất cả các thư mục trong thư mục cấp cao nhất, điều này có thể dừng lại nếu cần. Nếu bạn muốn đồng bộ hóa nhiều hơn một thư mục cấp cao nhất, chỉ cần thêm nhiều dòng hơn vào mã của bạn bằng hàm sync (). Để biết thêm tùy chọn và trợ giúp, hãy xem liên kết sau:

pypi.python.org/pypi/dirsync/2.2.2

Bước 3: Tạo.exe

Để tạo tệp thực thi, bây giờ chúng ta cần quay lại dấu nhắc lệnh.

Nhập phần sau thay thế đường dẫn thư mục bằng đường dẫn đến tập lệnh DirectorySync.py mà chúng tôi tạo trong bước cuối cùng:

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

Trong vị trí thư mục của tập lệnh python của bạn, điều này tạo ra một loạt các thư mục: _pycache_, build, dist và hai tệp khác. Trong thư mục dist bây giờ là một tệp có tên là DirectorySync.exe, chạy tệp này sẽ thực hiện đồng bộ trong nền. Tệp này có thể được phân phối cho bất kỳ ai và sau đó họ có thể chạy đồng bộ hóa mà không cần phải cài đặt python trên máy tính.

Để giải thích điều gì đang xảy ra trong văn bản BOLD được nhập vào dấu nhắc lệnh:

'pyinstaller' yêu cầu máy tính sử dụng trình cài đặt mô-đun mà chúng tôi đã tải xuống trước đó

'-F' là một tùy chọn yêu cầu trình cài đặt pyinstaller chỉ tạo một tệp thực thi và không phải một loạt các thư mục cũng sẽ phải được phân phối.

'-w' là một tùy chọn yêu cầu máy tính không hiển thị dấu nhắc lệnh mỗi khi nó chạy tập lệnh.

Đường dẫn là đường dẫn đến tập lệnh python.

Để biết thêm tùy chọn và trợ giúp, hãy xem liên kết dưới đây:

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

Bước 4: Chạy tự động

Bây giờ bạn đã sẵn sàng để đồng bộ hóa bất kỳ thư mục nào mà không cần phải sao chép, dán và xóa nhiều lần bằng cách chỉ cần nhấp đúp vào tệp thực thi. Nhưng chúng tôi muốn tiến một bước xa hơn thế và để Windows chạy quá trình tự động nên bạn không cần phải lo lắng.

Để thực hiện chúng ta sẽ sử dụng chương trình Task Scheduler đi kèm với Windows, quá trình này dựa trên Windows 10 nhưng gần như giống hệt trên các nền tảng Windows khác.

  1. Mở Trình lập lịch tác vụ từ menu bắt đầu.
  2. Ở phía bên phải, chọn 'Tạo tác vụ' từ menu.
  3. Đặt tên và mô tả cho nó và ở dưới cùng đảm bảo rằng nó được định cấu hình cho hệ điều hành phù hợp.
  4. Trên tab 'Trình kích hoạt', tạo trình kích hoạt mới bằng cách nhấp vào 'Mới' ở phía dưới bên trái, trên cửa sổ bật lên mới, hãy chọn cấu hình bạn muốn, tôi đã chọn bắt đầu tác vụ tại Đăng nhập và lặp lại mỗi giờ để tôi biết mình. có một bản sao lưu công việc của tôi mỗi giờ. Bấm OK.
  5. Trên tab 'Hành động', hãy tạo một hành động mới theo cách tương tự. Hành động chúng ta cần là khởi động một chương trình là chương trình mặc định. Duyệt đến tệp thực thi mà chúng tôi đã tạo trước đó và chọn. LƯU Ý: - nếu bạn di chuyển tệp thực thi sau khi tạo tác vụ, tác vụ và do đó quá trình đồng bộ hóa sẽ không hoàn thành.
  6. Trên tab 'Điều kiện', hãy bỏ kiểm tra cài đặt nguồn để nó chạy bằng pin cũng như được cắm vào.
  7. Nhấp vào OK và bây giờ bạn đã tạo xong nhiệm vụ của mình.

Khởi động lại máy tính và sau một lúc kiểm tra vị trí thư mục đích và thấy rằng quá trình đồng bộ hóa hoạt động, xin lưu ý nếu bạn có một thư mục lớn, quá trình đồng bộ hóa có thể mất một lúc để sao chép tất cả các thư mục trong lần đầu tiên.

Đó là hướng dẫn hoàn thành, tôi hy vọng bạn thấy nó hữu ích, bất kỳ câu hỏi, cho tôi biết.

Bước 5: CẬP NHẬT 15 THÁNG 1 NĂM 2020 - Tải xuống chương trình

Tôi vẫn sử dụng chương trình này đã phục vụ tốt cho tôi Tuy nhiên, tôi thường xuyên được mọi người yêu cầu thực hiện việc đồng bộ hóa các công việc cho các thư mục khác nhau theo cách thủ công, v.v. Vì vậy, tôi nghĩ tôi sẽ cập nhật Có thể hướng dẫn này bằng một liên kết đến chương trình tôi đã tạo để thực hiện công việc. Nó cung cấp giao diện người dùng để mọi người có thể dễ dàng thực hiện một trong các công việc đồng bộ hóa. Chương trình có thể được tải xuống từ Github.

Đề xuất: