Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> การบำรุงรักษาคอมพิวเตอร์

สร้างเครื่องมือสำรองข้อมูลด้วย SyncToy และ VB Script

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

เราเคยครอบคลุมโซลูชันสำรองข้อมูลมากมายที่ MUO เช่น บทความของ Tina เกี่ยวกับโคลนฮาร์ดดิสก์ บทความของ Stefan เกี่ยวกับเครื่องมือซิงค์ไฟล์ หรือบทความของ Shankar เกี่ยวกับซิงค์ไฟล์ระหว่าง PC และ USB drive Justin ทำเมื่อวานเกี่ยวกับ Redo ทุกโซลูชันดี แตถ้าคุณทำงานในสภาพแวดล้อมที่ระแวงซอฟต์แวร์ฟรีบุคคลที่สาม หรือบริษัทที่อยากใช้ผลิตภัณฑ์ Microsoft เท่านั้น คุณอาจพบตัวเองโดยไม่มีโซลูชันที่ดี

ในบทความนี้ ผมจะแสดงวิธีใช้ Microsoft SyncToy ฟรี ร่วมกับ VB Script เรียบง่ายที่จัดตารางเวลา จะทำให้กระบวนการสำรองข้อมูลอัตโนมัติทั้งหมด

ตั้งค่า SyncToy สำหรับการสำรองไฟล์อัตโนมัติ

Microsoft SyncToy เป็นเครื่องมือฟรีที่ให้คุณ "จับคู่" โฟลเดอร์สำหรับ echo clone หรือ full synchronization ผมจะอธิบายความแตกต่างด้านล่าง อย่างไรก็ตาม จุดสำคัญคือ ก่อนที่จะทำให้การสำรองไดเรกทอรีและไฟล์อัตโนมัติ คุณต้องตั้งค่าพื้นที่ทั้งหมดที่คุณต้องการคัดลอก และต้องการให้สำรองไปที่ไหน

สร้างเครื่องมือสำรองข้อมูลด้วย SyncToy และ VB Script

คุณทำได้เมื่อรัน SyncToy ครั้งแรก โดยคลิก "Create New Folder Pair" แล้วกำหนดโฟลเดอร์ซ้าย (from) และขวา (to) ขั้นตอนที่สองของการตั้งค่าซิงค์คือเลือกประเภทการซิงค์ที่ต้องการ

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

สร้างเครื่องมือสำรองข้อมูลด้วย SyncToy และ VB Script

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

สร้างเครื่องมือสำรองข้อมูลด้วย SyncToy และ VB Script

เมื่อคุณตั้งค่าโฟลเดอร์ทั้งหมดที่ต้องการสำรองอัตโนมัติแล้ว ถึงเวลาตั้งค่าสคริปต์ที่จะเปิด SyncToy โดยใช้ฟีเจอร์บรรทัดคำสั่งที่ Microsoft ให้มากับเครื่องมือ

ตั้งค่า SyncToy Automation Script

VB Script ที่ผมจะแสดง จะตรวจสอบเวลาปัจจุบันของวัน และรันคำสั่งที่เหมาะสมเพื่อเปิด Microsoft SyncToy และสำรองไดเรกทอรีที่ถูกต้อง

มันทำได้โดยใช้ชื่อของไดเรกทอรีที่จับคู่ที่คุณตั้งค่าในเครื่องมือข้างต้น คัดลอกสคริปต์ลง Notepad และบันทึกเป็น "databackup.wsf" ไฟล์

<job>

<script language="VBScript">

Option Explicit

On Error Resume Next

Dim HourNow

Dim strHour

Dim WshShell

Dim strProgFiles

HourNow = Hour(Now())

set WshShell=CreateObject("WScript.Shell")

strProgFiles = WshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")

Select Case HourNow

 case HourNow >= 0 and HourNow < 7 

 WshShell.exec strProgFiles & "\SyncToy 2.1\SyncToyCmd.exe -R MorningFiles"

 case HourNow >= 7 and HourNow < 13 

 WshShell.exec strProgFiles & "\SyncToy 2.1\SyncToyCmd.exe -R NoonFiles"

 case HourNow >= 13 and HourNow < 19 

 WshShell.exec strProgFiles & "\SyncToy 2.1\SyncToyCmd.exe -R MailArchives"

 case else 

 WshShell.exec strProgFiles & "\SyncToy 2.1\SyncToyCmd.exe -R EveningFiles"

End Select

WScript.Quit 

</script>

</job>

สคริปต์ข้างต้นตรวจสอบชั่วโมงปัจจุบัน (ตามนาฬิกา PC ที่รันสคริปต์) และถ้าระหว่างเที่ยงคืนถึง 6:59 น. จะซิงค์คู่ "MorningFiles" ที่คุณตั้งค่า ระหว่าง 7:00 ถึง 12:59 คู่ "NoonFiles" และต่อไป

สิ่งที่คุณต้องทำคือ ตั้งค่า Windows scheduled task ที่จะรันสคริปต์ข้างต้น 4 ครั้งต่อวัน ภายใน 4 ช่วงเวลา นี้ง่ายมาก แค่ไป Control Panel, Administrative Tools, เปิด Task Scheduler คลิก "Create Task"

สร้างเครื่องมือสำรองข้อมูลด้วย SyncToy และ VB Script

ตั้งชื่อ task แล้วคลิกแท็บ trigger ตั้งค่า "On a schedule", Daily, recur every day, start at 3 a.m. และด้านล่างคลิก repeat task ทุก 6 ชั่วโมง นี้จะทริกเกอร์ task ที่ 0300, 0900, 1500 และ 2100 น.

สร้างเครื่องมือสำรองข้อมูลด้วย SyncToy และ VB Script

ช่วงเวลาเหล่านี้อยู่ใน 4 ช่วงที่คุณจัดตารางในสคริปต์ ตอนนี้คลิกแท็บ Actions เลือก "Start a program" จาก dropdown และบราวซ์ไปที่ไฟล์สคริปต์ที่เก็บ

สร้างเครื่องมือสำรองข้อมูลด้วย SyncToy และ VB Script

แค่นี้เสร็จแล้ว! Task scheduler จะรันสคริปต์เดียวของคุณ 4 ครั้งต่อวัน (ไม่ต้องงี้หลาย task) สคริปต์จะจัดการเปิด SyncToy ในโหมดคำสั่งโดยรัน "SyncToyCmd.exe -R EveningFiles" - ด้วยชื่อไฟล์คู่ที่คุณตั้งค่าหลัง "-R"

คุณสามารถตรวจสอบว่าสคริปต์ทำงานได้จาก SyncToy log file ที่ "C:\Users\Owner\AppData\Local\Microsoft\SyncToy\2.0\SyncToyLog.log"

สร้างเครื่องมือสำรองข้อมูลด้วย SyncToy และ VB Script

Log อัปเดตทุกครั้งที่ SyncToy รัน และจะแสดงว่าไดเรกทอรีไหนถูกสำรอง เมื่อไหร่ จำนวนไฟล์ และขนาดของการสำรอง

โซลูชันสำรองข้อมูลนี้ทำงานได้ไหม? มีวิธีอื่นอัตโนมัติสำรองไฟล์และโฟลเดอร์สำคัญไหม? แชร์ความคิดในความคิดเห็นด้านล่าง

เครดิตรูปภาพ: Shutterstock