สารบัญ:

การซิงค์โฟลเดอร์ด้วย Python: 5 ขั้นตอน
การซิงค์โฟลเดอร์ด้วย Python: 5 ขั้นตอน

วีดีโอ: การซิงค์โฟลเดอร์ด้วย Python: 5 ขั้นตอน

วีดีโอ: การซิงค์โฟลเดอร์ด้วย Python: 5 ขั้นตอน
วีดีโอ: การจัดการข้อมูลใน Google Sheet ด้วย Python (ใหม่ 2020) 2024, กรกฎาคม
Anonim
การซิงค์โฟลเดอร์ด้วย Python
การซิงค์โฟลเดอร์ด้วย Python
การซิงค์โฟลเดอร์ด้วย Python
การซิงค์โฟลเดอร์ด้วย Python

คำแนะนำนี้จะแสดงวิธีทำให้สองโฟลเดอร์ (และโฟลเดอร์ทั้งหมดอยู่ภายใน) ซิงค์กันดังนั้นโฟลเดอร์หนึ่งจึงเป็นสำเนาโดยตรงของอีกโฟลเดอร์หนึ่ง เหมาะอย่างยิ่งสำหรับการสำรองข้อมูลงานทั้งในเครื่อง เซิร์ฟเวอร์คลาวด์/เครือข่าย หรือไดรฟ์ USB ไม่จำเป็นต้องมีประสบการณ์ในการเขียนโปรแกรมเพื่อทำตามบทช่วยสอนนี้ โปรดทราบว่าวิธีนี้ใช้ได้กับ Windows เท่านั้นแม้ว่ากระบวนการจะคล้ายกันใน Mac และ Linux

ฉันมีคอมพิวเตอร์ที่ใช้ Windows เครื่องเก่าที่ฉันได้ติดตั้งไว้ทำหน้าที่เป็นเซิร์ฟเวอร์สำหรับฟังก์ชันต่างๆ ซึ่งหนึ่งในนั้นคือที่เก็บข้อมูลบนเครือข่ายราคาถูก ซึ่งทำหน้าที่เป็นทั้งเซิร์ฟเวอร์สื่อและสำรองข้อมูลคอมพิวเตอร์ของครอบครัวฉันทั้งหมด

เนื่องจากครอบครัวของฉันชอบทำงานบนพีซีในเครื่อง เราจึงต้องการวิธีง่ายๆ ในการสำรองข้อมูลของเราเป็นประจำ ฉันยังต้องการวิธีในการสำรองข้อมูลเป็นสองเท่าโดยใช้วิธีการแบบ RAID บนฮาร์ดไดรฟ์สองตัวบนพีซีเซิร์ฟเวอร์ ฉันไม่ต้องการจ่ายเงินสำหรับซอฟต์แวร์ใด ๆ (ใช่ ฉันรู้ดีว่าฉันตระหนี่) ด้วยเหตุนี้ ซอฟต์แวร์ฟรีทั้งหมดจึงมักมาพร้อมกับป๊อปอัป หรือแม้แต่ทำให้พีซีช้าลงด้วยเวลาซิงค์ที่ยาวนานและการใช้งาน CPU ขนาดใหญ่ ซึ่งเป็นเรื่องที่น่ารำคาญมาก

ดังนั้นด้วยความพยายามเพียงเล็กน้อย ฉันจึงเขียนสคริปต์หลามซึ่งจะซิงค์โฟลเดอร์ที่เราต้องการทั้งหมด จากนั้นฉันสามารถปรับแต่งและแจกจ่ายสิ่งนี้ให้กับครอบครัวในฐานะไฟล์เรียกทำงาน ซึ่งฉันสามารถตั้งค่าหน้าต่างให้ทำงานเป็นประจำในพื้นหลังได้ ผู้ใช้คอมพิวเตอร์จะต้องไม่มีใครฉลาดกว่าใคร

ขั้นตอนที่ 1: การติดตั้ง Python และการพึ่งพา

ในการสร้างโปรแกรมที่แจกจ่ายได้ คุณต้องติดตั้ง python บนคอมพิวเตอร์ของคุณ ในการดำเนินการนี้ ให้ทำตามลิงก์ของเว็บที่นี่ https://www.python.org/downloads/ และเลื่อนลงมาจนกว่าคุณจะพบเวอร์ชันที่คุณต้องการ หมายเหตุ: ขออภัย ในการเขียนโมดูล pyinstaller ซึ่งเราจะใช้ยังไม่สามารถใช้งานได้กับ python 3.8 ดังนั้น คุณจะต้องใช้ python เวอร์ชันที่เข้ากันได้ (3.5-3.7)

ติดตามการติดตั้งโดยทำเครื่องหมายที่ช่อง "Add to PATH"

เมื่อติดตั้งแล้ว ให้เปิดพรอมต์คำสั่งและติดตั้งโมดูล python ที่เราต้องการ โดยพิมพ์ดังต่อไปนี้ และปฏิบัติตามพร้อมท์ตามที่ต้องการ:

pip ติดตั้ง pyinstaller

pip ติดตั้ง dirsync

ขั้นตอนที่ 2: สคริปต์ Python

สคริปต์นั้นดีและเรียบง่าย เพียงสองบรรทัดเท่านั้น คัดลอกและวางสิ่งต่อไปนี้ใน IDLE (ติดตั้งด้วย Python) หรือแผ่นจดบันทึกและบันทึกเป็น "DirectorySync.py":

จาก dirsync นำเข้าการซิงค์

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

อย่าลืมเปลี่ยนสองโฟลเดอร์ด้านบนด้วยสองโฟลเดอร์ที่คุณต้องการซิงค์ จำเป็นต้องใช้แบ็กสแลชคู่ในชื่อพาธ เนื่องจากแบ็กสแลชเป็นอักขระหลีกใน Python

บรรทัดแรกนำเข้าโมดูล dirsync ที่เราติดตั้งไว้ก่อนหน้านี้

ที่สองทำการซิงค์ โฟลเดอร์แรกคือโฟลเดอร์ต้นทาง และโฟลเดอร์ที่สองคือเป้าหมาย 'ซิงค์' เป็นการบอกฟังก์ชันการซิงค์ว่าจะใช้โหมดการซิงค์ใด การเพิ่ม purge=True บอกให้ฟังก์ชันลบทุกอย่างในโฟลเดอร์เป้าหมายซึ่งไม่อยู่ในโฟลเดอร์ต้นทางอีกต่อไป มีตัวเลือกอื่นที่สามารถนำไปใช้ได้ตามความต้องการของคุณ

วิธีกำหนดค่าด้านบนจะซิงค์โฟลเดอร์ทั้งหมดภายในโฟลเดอร์ระดับบนสุดด้วย ซึ่งสามารถหยุดได้หากต้องการ หากคุณต้องการซิงค์โฟลเดอร์ระดับบนสุดมากกว่าหนึ่งโฟลเดอร์ เพียงเพิ่มบรรทัดในโค้ดของคุณด้วยฟังก์ชัน sync() สำหรับตัวเลือกเพิ่มเติมและความช่วยเหลือ โปรดดูที่ลิงค์ต่อไปนี้:

pypi.python.org/pypi/dirsync/2.2.2

ขั้นตอนที่ 3: การสร้าง.exe

ในการสร้างไฟล์ปฏิบัติการ เราต้องย้ายกลับไปที่พรอมต์คำสั่ง

พิมพ์ต่อไปนี้แทนที่เส้นทางโฟลเดอร์ด้วยเส้นทางไปยังสคริปต์ DirectorySync.py ที่เราสร้างในขั้นตอนสุดท้าย:

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

ในตำแหน่งโฟลเดอร์ของสคริปต์ python ของคุณ สิ่งนี้จะสร้างชุดของโฟลเดอร์: _pycache_, build, dist และไฟล์อื่นๆ อีกสองไฟล์ ในโฟลเดอร์ dist ตอนนี้เป็นไฟล์ชื่อ DirectorySync.exe การเรียกใช้การดำเนินการนี้จะทำการซิงค์ในพื้นหลัง ไฟล์นี้สามารถแจกจ่ายให้กับทุกคนได้ และสามารถเรียกใช้การซิงค์โดยไม่ต้องติดตั้ง python บนคอมพิวเตอร์

เพื่ออธิบายสิ่งที่เกิดขึ้นในข้อความ BOLD ซึ่งพิมพ์ในพรอมต์คำสั่ง:

'pyinstaller' บอกให้คอมพิวเตอร์ใช้โมดูล pyinstaller ที่เราดาวน์โหลดมาก่อนหน้านี้

'-F' เป็นตัวเลือกที่บอกให้ pyinstaller สร้างไฟล์ปฏิบัติการได้เพียงไฟล์เดียวและไม่ใช่ชุดของโฟลเดอร์ที่จะต้องแจกจ่ายด้วย

'-w' คือตัวเลือกที่บอกให้คอมพิวเตอร์ไม่แสดงพรอมต์คำสั่งทุกครั้งที่รันสคริปต์

เส้นทางคือเส้นทางไปยังสคริปต์หลาม

สำหรับตัวเลือกเพิ่มเติมและความช่วยเหลือ โปรดดูที่ลิงค์ด้านล่าง:

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

ขั้นตอนที่ 4: เรียกใช้โดยอัตโนมัติ

ตอนนี้คุณพร้อมที่จะซิงค์โฟลเดอร์ต่างๆ โดยไม่ต้องคัดลอก วาง และลบซ้ำๆ โดยเพียงแค่ดับเบิลคลิกที่ไฟล์เรียกทำงาน แต่เราต้องการที่จะก้าวไปไกลกว่านั้นและให้ Windows เรียกใช้กระบวนการโดยอัตโนมัติ ดังนั้นคุณไม่ต้องกังวล

ในการดำเนินการนี้ เราจะใช้โปรแกรม Task Scheduler ที่มาพร้อมกับ Windows กระบวนการนี้ใช้ Windows 10 แต่แทบจะเหมือนกันทุกประการบนแพลตฟอร์ม Windows อื่นๆ

  1. เปิด Task Scheduler จากเมนูเริ่ม
  2. ทางด้านขวามือ เลือก 'สร้างงาน' จากเมนู
  3. ตั้งชื่อและคำอธิบาย และที่ด้านล่าง ตรวจสอบให้แน่ใจว่าได้รับการกำหนดค่าสำหรับระบบปฏิบัติการที่ถูกต้อง
  4. บนแท็บ 'ทริกเกอร์' สร้างทริกเกอร์ใหม่โดยคลิกที่ 'ใหม่' ที่ด้านล่างซ้าย ที่ป๊อปอัปใหม่ ให้เลือกการกำหนดค่าที่คุณต้องการ ฉันเลือกที่จะเริ่มต้นงานที่เข้าสู่ระบบและทำซ้ำทุก ๆ ชั่วโมงเพื่อให้ฉันรู้ว่าฉัน มีการสำรองข้อมูลงานของฉันทุกชั่วโมง คลิกตกลง
  5. บนแท็บ "การดำเนินการ" ให้สร้างการกระทำใหม่ในลักษณะเดียวกัน การดำเนินการที่เราต้องการคือการเริ่มโปรแกรมซึ่งเป็นค่าเริ่มต้น เรียกดูไฟล์ปฏิบัติการที่เราสร้างไว้ก่อนหน้านี้และเลือก หมายเหตุ:- หากคุณย้ายไฟล์เรียกทำงานหลังจากสร้างงาน งานและการซิงค์จะไม่เสร็จสมบูรณ์
  6. บนแท็บ "เงื่อนไข" ให้ยกเลิกการตรวจสอบการตั้งค่าพลังงานเพื่อให้ทำงานโดยใช้แบตเตอรี่และเสียบปลั๊ก
  7. คลิกตกลงและคุณได้สร้างงานของคุณแล้ว

รีสตาร์ทคอมพิวเตอร์และหลังจากนั้นสักครู่ให้ตรวจสอบตำแหน่งโฟลเดอร์เป้าหมายและดูว่าการซิงค์ทำงานได้หรือไม่ โปรดทราบว่าหากคุณมีโฟลเดอร์ขนาดใหญ่ การซิงค์อาจใช้เวลาสักครู่ในการคัดลอกโฟลเดอร์ทั้งหมดในครั้งแรก

นั่นคือบทช่วยสอนที่สมบูรณ์ ฉันหวังว่าคุณจะพบว่ามีประโยชน์ หากมีคำถามใดๆ โปรดแจ้งให้เราทราบ

ขั้นตอนที่ 5: อัปเดต 15 ม.ค. 2020 - ดาวน์โหลดโปรแกรม

ฉันยังคงใช้โปรแกรมนี้ซึ่งให้บริการฉันได้ดี อย่างไรก็ตาม ฉันมักถูกคนถามบ่อยๆ ให้ทำการซิงค์งานสำหรับโฟลเดอร์ต่างๆ ด้วยตนเอง ฯลฯ ดังนั้นฉันคิดว่าฉันจะอัปเดตคำแนะนำนี้ด้วยลิงก์ไปยังโปรแกรมที่ฉันสร้างขึ้นเพื่อทำงาน. มีส่วนต่อประสานกับผู้ใช้เพื่อให้ผู้คนสามารถทำงานการซิงค์อย่างใดอย่างหนึ่งได้อย่างง่ายดาย สามารถดาวน์โหลดโปรแกรมได้จาก Github

แนะนำ: