สารบัญ:
วีดีโอ: การซิงค์โฟลเดอร์ด้วย Python: 5 ขั้นตอน
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
คำแนะนำนี้จะแสดงวิธีทำให้สองโฟลเดอร์ (และโฟลเดอร์ทั้งหมดอยู่ภายใน) ซิงค์กันดังนั้นโฟลเดอร์หนึ่งจึงเป็นสำเนาโดยตรงของอีกโฟลเดอร์หนึ่ง เหมาะอย่างยิ่งสำหรับการสำรองข้อมูลงานทั้งในเครื่อง เซิร์ฟเวอร์คลาวด์/เครือข่าย หรือไดรฟ์ 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 อื่นๆ
- เปิด Task Scheduler จากเมนูเริ่ม
- ทางด้านขวามือ เลือก 'สร้างงาน' จากเมนู
- ตั้งชื่อและคำอธิบาย และที่ด้านล่าง ตรวจสอบให้แน่ใจว่าได้รับการกำหนดค่าสำหรับระบบปฏิบัติการที่ถูกต้อง
- บนแท็บ 'ทริกเกอร์' สร้างทริกเกอร์ใหม่โดยคลิกที่ 'ใหม่' ที่ด้านล่างซ้าย ที่ป๊อปอัปใหม่ ให้เลือกการกำหนดค่าที่คุณต้องการ ฉันเลือกที่จะเริ่มต้นงานที่เข้าสู่ระบบและทำซ้ำทุก ๆ ชั่วโมงเพื่อให้ฉันรู้ว่าฉัน มีการสำรองข้อมูลงานของฉันทุกชั่วโมง คลิกตกลง
- บนแท็บ "การดำเนินการ" ให้สร้างการกระทำใหม่ในลักษณะเดียวกัน การดำเนินการที่เราต้องการคือการเริ่มโปรแกรมซึ่งเป็นค่าเริ่มต้น เรียกดูไฟล์ปฏิบัติการที่เราสร้างไว้ก่อนหน้านี้และเลือก หมายเหตุ:- หากคุณย้ายไฟล์เรียกทำงานหลังจากสร้างงาน งานและการซิงค์จะไม่เสร็จสมบูรณ์
- บนแท็บ "เงื่อนไข" ให้ยกเลิกการตรวจสอบการตั้งค่าพลังงานเพื่อให้ทำงานโดยใช้แบตเตอรี่และเสียบปลั๊ก
- คลิกตกลงและคุณได้สร้างงานของคุณแล้ว
รีสตาร์ทคอมพิวเตอร์และหลังจากนั้นสักครู่ให้ตรวจสอบตำแหน่งโฟลเดอร์เป้าหมายและดูว่าการซิงค์ทำงานได้หรือไม่ โปรดทราบว่าหากคุณมีโฟลเดอร์ขนาดใหญ่ การซิงค์อาจใช้เวลาสักครู่ในการคัดลอกโฟลเดอร์ทั้งหมดในครั้งแรก
นั่นคือบทช่วยสอนที่สมบูรณ์ ฉันหวังว่าคุณจะพบว่ามีประโยชน์ หากมีคำถามใดๆ โปรดแจ้งให้เราทราบ
ขั้นตอนที่ 5: อัปเดต 15 ม.ค. 2020 - ดาวน์โหลดโปรแกรม
ฉันยังคงใช้โปรแกรมนี้ซึ่งให้บริการฉันได้ดี อย่างไรก็ตาม ฉันมักถูกคนถามบ่อยๆ ให้ทำการซิงค์งานสำหรับโฟลเดอร์ต่างๆ ด้วยตนเอง ฯลฯ ดังนั้นฉันคิดว่าฉันจะอัปเดตคำแนะนำนี้ด้วยลิงก์ไปยังโปรแกรมที่ฉันสร้างขึ้นเพื่อทำงาน. มีส่วนต่อประสานกับผู้ใช้เพื่อให้ผู้คนสามารถทำงานการซิงค์อย่างใดอย่างหนึ่งได้อย่างง่ายดาย สามารถดาวน์โหลดโปรแกรมได้จาก Github