Tháng trước, tôi viết bài về các công cụ tạo bản sao lưu hoặc image toàn bộ hệ thống Windows 7. Mặc dù sao lưu toàn bộ hệ thống quan trọng, bạn có thể muốn thường xuyên hơn sao lưu thư mục hoặc file thực sự quan trọng. Điều này thường xảy ra trong IT, nơi khách hàng thu thập dữ liệu vào thư mục cụ thể, và họ muốn chắc chắn có bản sao lưu hàng ngày (hoặc hàng giờ) của dữ liệu đó.
Chúng tôi đã bao quát nhiều giải pháp sao lưu dữ liệu tại MUO, như bài của Tina về clone ổ cứng, bài của Stefan về công cụ đồng bộ file, hoặc bài của Shankar về đồng bộ file giữa PC và USB. Justin vừa làm bài hôm qua về Redo. Tất cả giải pháp này tuyệt, nhưng nếu bạn làm việc trong môi trường e ngại phần mềm miễn phí bên thứ ba, hoặc công ty muốn dùng chỉ sản phẩm Microsoft, bạn có thể thấy mình thiếu giải pháp tốt.
Trong bài này, tôi sẽ chỉ cách dùng kết hợp công cụ miễn phí SyncToy của Microsoft với script VB Script đơn giản lên lịch để tự động hóa toàn bộ quy trình sao lưu dữ liệu.
Thiết Lập SyncToy Cho Sao Lưu File Tự Động
Microsoft SyncToy là công cụ miễn phí cho phép bạn "ghép cặp" thư mục cho clone echo hoặc đồng bộ hoàn toàn. Tôi giải thích khác biệt dưới. Tuy nhiên, điểm là trước khi tự động hóa sao lưu thư mục và file, bạn cần thiết lập tất cả khu vực muốn sao chép và nơi bản lưu lưu trữ.
Bạn làm khi chạy SyncToy lần đầu bằng cách bấm "Create New Folder Pair" và định nghĩa thư mục trái (nguồn), và thư mục phải (đích). Bước hai thiết lập đồng bộ là chọn loại đồng bộ bạn muốn.
"Synchronize" là sao lưu dữ liệu hai chiều. Nghĩa là nếu file mới xuất hiện hoặc cập nhật bên trái hoặc phải, thay đổi sao chép sang thư mục kia. Mặt khác, Echo chỉ gương mọi thay đổi từ thư mục trái sang phải. Đây thường là điều người muốn khi sao lưu thư mục cụ thể – muốn mọi thay đổi gương trên bản sao lưu.
Trong giải pháp lên lịch tôi sẽ chỉ cách thiết lập, tôi sẽ thiết lập bốn cặp thư mục. Mỗi cặp là sao lưu muốn xử lý lúc cụ thể trong ngày. Sáng, sao lưu một thư mục. Trưa, sao lưu cái khác, v.v.
Khi đã thiết lập xong tất cả thư mục muốn sao lưu tự động, đến lúc thiết lập script khởi động SyncToy dùng tính năng dòng lệnh Microsoft cung cấp.
Thiết Lập Script Tự Động Hóa SyncToy
VB Script tôi sẽ chỉ sẽ kiểm tra giờ hiện tại, và chạy lệnh thích hợp khởi động Microsoft SyncToy và sao lưu thư mục đúng.
Nó làm bằng cách dùng tên cặp thư mục bạn thiết lập ở công cụ trên. Copy script vào notepad và lưu như "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>
Script trên chỉ kiểm tra giờ hiện tại (dựa trên đồng hồ PC chạy script), nếu giữa nửa đêm và 6:59 sáng, đồng bộ cặp "MorningFiles". Giữa 7 sáng và 12:59, cặp "NoonFiles", v.v.
Tất cả bạn làm bây giờ là thiết lập tác vụ Windows lên lịch chạy script trên 4 lần một ngày trong 4 khung giờ. Cũng dễ, vào Control Panel, Administrative Tools, mở Task Scheduler. Bấm "Create Task".
Đặt tên tác vụ, bấm tab trigger. Chọn "On a schedule", Daily, recur every day, start at 3 a.m., và dưới bấm lặp tác vụ mỗi 6 giờ. Sẽ kích hoạt lúc 0300, 0900, 1500 và 2100.
Bấm tab Actions, chọn "Start a program" từ dropdown và duyệt đến nơi lưu script.
Đó là tất cả! Bây giờ, task scheduler sẽ chạy script đơn lẻ 4 lần một ngày (không cần lo nhiều tác vụ). Script sẽ xử lý khởi động SyncToy chế độ dòng lệnh bằng cách chạy "SyncToyCmd.exe -R EveningFiles" – với tên cặp file bạn đặt sau "-R".
Bạn giám sát script chạy bằng cách kiểm tra file log SyncToy tại "C:\Users\Owner\AppData\Local\Microsoft\SyncToy\2.0\SyncToyLog.log"
Log cập nhật mỗi lần SyncToy chạy, và cho thấy thư mục nào sao lưu, khi nào, số file và kích thước bản sao lưu.
Giải pháp sao lưu dữ liệu này có hiệu quả cho bạn? Bạn có cách khác tự động sao lưu file/thư mục quan trọng? Chia sẻ suy nghĩ ở bình luận dưới.
Nguồn ảnh: Shutterstock