Tập lệnh hàng loạt của Windows để sao lưu dữ liệu

Người dùng máy tính đã lớn lên với máy tính Mac và Windows tiên tiến có thể không biết về điều này, nhưng đã từng, rất lâu trước đây, tất cả các máy tính cá nhân đều được điều khiển bằng giao diện dòng lệnh. Đúng vậy, hộp lệnh khó hiểu đó trên máy Windows của bạn từng là cách duy nhất mà hầu hết mọi người từng tương tác với máy tính. Giao diện dòng lệnh chủ yếu dựa vào các chương trình nhỏ được gọi là 'script', là tập hợp các lệnh của hệ điều hành được sử dụng để thực hiện các tác vụ thông thường.

Mặc dù giao diện người dùng đồ họa của PC ngày nay tinh vi hơn và dễ sử dụng hơn so với các dòng lệnh cũ nhưng vẫn có những cách sử dụng đối với phương pháp cũ hơn để điều khiển máy tính của bạn. Một trong những ứng dụng phổ biến nhất và rất phù hợp cho tập lệnh dòng lệnh là sao lưu dữ liệu. Các tập lệnh dòng lệnh có thể được tự động chạy bất kỳ lúc nào mà không cần bất kỳ sự tương tác nào của con người và có một số hạn chế. Hơn hết - chúng là một phần tích hợp của hệ điều hành Windows.

Tại sao lại sử dụng Command Line Scripts?

Tại sao lại sử dụng tập lệnh dòng lệnh khi có cả chương trình sao lưu thương mại và miễn phí? Chà, các tập lệnh dòng lệnh có một số lợi thế riêng. Dưới đây là một vài trong số họ:

  • Lệnh gốc : Còn cách nào tốt hơn để sao lưu dữ liệu ngoài việc sử dụng các chức năng có sẵn thông qua chương trình tạo ra dữ liệu? Cho dù đây là bản thân hệ điều hành thông qua lệnh sao chép tệp đơn giản hay lệnh cơ sở dữ liệu để tạo tệp nhị phân có thể phục hồi, chương trình nguồn biết cách tốt nhất để tự sao lưu.
  • Kiểm soát tối ưu : Vì tập lệnh dòng lệnh tuân theo quy trình từng bước đơn giản, bạn biết chính xác điều gì đang xảy ra và có thể dễ dàng sửa đổi hành vi.
  • Nhanh : Vì mọi thứ đều là lệnh gốc nên không có gì phải diễn giải. Một lần nữa, bạn đang sử dụng các lệnh do chính chương trình cung cấp, vì vậy chi phí được giữ ở mức tối thiểu.
  • Mạnh mẽ : Tôi vẫn chưa thấy tác vụ sao lưu không thể thực hiện được thông qua tập lệnh dòng lệnh… và tôi đã thực hiện một số việc thú vị. Mặc dù bạn có thể phải thực hiện một số nghiên cứu và thử và sai nếu bạn có nhu cầu thực sự riêng, nhưng thông thường, các chức năng và tính năng tích hợp sẵn của ngôn ngữ kịch bản mà bạn đang sử dụng là quá đủ.
  • Miễn phí và linh hoạt : Rõ ràng, một tập lệnh dòng lệnh không tốn bất kỳ chi phí nào (ngoài thời gian phát triển nó), vì vậy bạn có thể sao chép các tập lệnh của mình vào bất kỳ số lượng máy móc và hệ thống nào mà không tốn nhiều thời gian hoặc chi phí. So sánh chi phí này với chi phí mua giấy phép cho phần mềm sao lưu trên một số máy chủ và / hoặc máy tính để bàn.

Tổng quan nhanh về tập lệnh hàng loạt dự phòng

Hầu hết mọi người chưa bao giờ học cách sử dụng kịch bản dòng lệnh và nó được coi là một “nghệ thuật đen”. Tuy nhiên, nó thực sự là một thứ khá đơn giản để học. Để chứng minh sức mạnh của dòng lệnh, tôi đang cung cấp một tập lệnh lô đơn giản của Windows mà bạn có thể sử dụng để sao lưu dữ liệu quan trọng của mình. Tập lệnh có thể cấu hình và tùy chỉnh này không yêu cầu bất kỳ kiến ​​thức nào (hoặc sẵn sàng học hỏi) về ngôn ngữ lập trình tập lệnh hàng loạt của Windows, nhưng nếu bạn quyết định muốn tìm hiểu thêm về tập lệnh hàng loạt Windows, bạn sẽ thấy tập lệnh này là một nơi khởi đầu tốt .

Tập lệnh sao lưu làm gì:

  1. Tạo bản sao lưu đầy đủ hoặc tăng dần hàng ngày (xem bên dưới để biết định nghĩa) của các tệp và thư mục mà bạn chỉ định trong một tệp văn bản cấu hình riêng biệt (xem bên dưới).
    • Khi một thư mục được đặt tên, thư mục đó và tất cả các thư mục con sẽ được sao lưu.
    • Khi một tệp được đặt tên, chỉ tệp đó được sao lưu.
  2. Nén (nén) các tệp đã sao lưu. Sau khi tất cả các tệp cần sao lưu được sao chép, chúng sẽ được nén để tiết kiệm dung lượng. 7-Zip được yêu cầu phải được cài đặt trên hệ thống của bạn để tính năng này hoạt động.
  3. Định ngày tệp nén và chuyển tệp đó đến vị trí lưu trữ. Sau khi các tệp sao lưu được nén, tệp lưu trữ kết quả được đặt tên tệp theo ngày hiện tại và sau đó được chuyển đến vị trí lưu trữ đã định cấu hình, chẳng hạn như ổ đĩa ngoài hoặc vị trí mạng.
  4. Làm sạch sau khi chính nó. Sau khi tất cả các tác vụ được hoàn thành, tập lệnh lô sẽ xóa tất cả các tệp tạm thời mà nó đã tạo.

Yêu cầu:

Windows 2000 / XP / 2003 / Vista hoặc mới hơn

7-Zip (miễn phí)

Tập tin cấu hình:

Tệp cấu hình chỉ đơn giản là một tệp văn bản chứa các tệp và thư mục cần sao lưu, được nhập một mục sao lưu trên mỗi dòng. Tập tin này cần phải được đặt tên là “BackupConfig.txt” và nằm trong cùng thư mục với tập lệnh sao lưu. Đây là một ví dụ về tệp BackupConfig.txt (lưu ý, ký tự “#” trên dòng đầu tiên cho biết dòng đó là nhận xét; nhận xét luôn bị bỏ qua khi tập lệnh chạy):

# Nhập tên tệp và thư mục, mỗi tên một dòng.

C: Tài liệu và Cài đặtJason FaulknerDesktop C: Tài liệu và Cài đặtJason FaulknerTài liệu của tôiTệp quan trọng C: ScriptsBackupScript.bat

Ví dụ trên sẽ sao lưu màn hình của người dùng Windows Jason Faulkner (và tất cả các thư mục trên màn hình), thư mục được gọi là “Tệp quan trọng” bên trong Tài liệu của tôi (và tất cả các thư mục bên trong “Tệp quan trọng”) và tệp “BackupScript.bat” bên trong thư mục C: \ Scripts.

Các loại sao lưu:

  • Sao lưu toàn bộ: Một bản sao hoàn chỉnh của tất cả các tệp và thư mục (bao gồm cả thư mục con) được bao gồm trong bản sao lưu.
  • Sao lưu tăng dần: Khi một thư mục được cung cấp, chỉ các tệp được tạo hoặc sửa đổi trên ngay hiện tại Chúng tôi

    hỗ trợ. Khi một tệp được cung cấp, nó luôn được sao lưu, bất kể khi nào nó được sửa đổi.

Tập lệnh hàng loạt của Windows Backup dữ liệu

Tôi muốn nhấn mạnh rằng tập lệnh này rất cơ bản, vì tất cả những gì nó làm là tạo bản sao lưu bằng cách sử dụng một bản sao tệp đơn giản. Có một số tùy chọn cấu hình bạn có thể đặt:

  • Vị trí lưu trữ sao lưu nơi lưu trữ các tệp sao lưu đã nén.
  • Ngày trong tuần chạy bản sao lưu đầy đủ (bất kỳ ngày nào khác sẽ chạy bản sao lưu tăng dần).
  • Vị trí nơi 7-Zip được cài đặt trên máy tính của bạn. Tập lệnh được đặt tự động để tìm ở vị trí mặc định.

Nếu bạn có bất kỳ đề xuất hoặc yêu cầu tính năng, vui lòng bình luận bên dưới. Tôi thực sự rất thích thực hiện một bài viết tiếp theo bài đăng này có một tập lệnh được cập nhật dựa trên đầu vào của người đọc. Nếu bạn cần hướng dẫn về cách “sử dụng” tập lệnh này hoặc thiết lập tác vụ đã lên lịch, hãy xem các liên kết bên dưới nguồn tập lệnh.

Không cần quảng cáo thêm, đây là:

Ghi chú: Vì các trích dẫn không hiển thị chính xác bên dưới (và do đó có thể làm rối tung tập lệnh), tôi đã bao gồm một liên kết văn bản thuần túy bên dưới tập lệnh mà bạn có thể sử dụng để lấy nguồn chính xác để sao chép từ đó.

@ECHO OFF REM BackupScript REM Phiên bản 1.01, Cập nhật: 2008-05-21 REM Bởi Jason Faulkner (bài viết [-at-] 132solutions.com) REM Thực hiện sao lưu toàn bộ hoặc tăng dần các thư mục và tệp được người dùng định cấu hình. Cách sử dụng REM --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Tùy chọn cấu hình --- Vị trí thư mục REM nơi bạn muốn lưu trữ kho lưu trữ sao lưu kết quả. REM Thư mục này phải tồn tại. Không đặt dấu '' ở cuối, điều này sẽ được thêm tự động. REM Bạn có thể nhập đường dẫn cục bộ, ký tự ổ đĩa ngoài (ví dụ: F :) hoặc vị trí mạng (ví dụ: \ serverbackups) SET BackupStorage = C: Backup REM Bạn muốn thực hiện sao lưu toàn bộ vào ngày nào trong tuần? REM Nhập một trong các giá trị sau: Chủ nhật, Thứ Hai, Thứ Ba, Thứ Tư, Thứ Năm, Thứ Sáu, Thứ Bảy, * REM Bất kỳ ngày nào trong tuần khác với ngày được chỉ định bên dưới sẽ chạy một bản sao lưu gia tăng. REM Nếu bạn nhập '*', một bản sao lưu đầy đủ sẽ được chạy mọi lúc. SET FullBackupDay = * REM Vị trí nơi 7-Zip được cài đặt trên máy tính của bạn. REM Giá trị mặc định nằm trong một thư mục, '7-Zip' trong thư mục Tệp Chương trình của bạn. SET InstallLocationOf7Zip =% ProgramFiles% 7-Zip REM + --------------------------------------- -------------------------------- + REM | Không thay đổi bất kỳ điều gì bên dưới đây trừ khi bạn biết bạn đang làm gì. | REM + ------------------------------------------------ ----------------------- + Các biến sử dụng REM. SET exe7Zip =% InstallLocationOf7Zip% 7z.exe SET dirTempBackup =% TEMP% backup SET filBackupConfig = BackupConfig.txt REM Validation. NẾU KHÔNG TỒN TẠI% filBackupConfig% (ECHO Không tìm thấy tệp cấu hình, thiếu:% filBackupConfig% GOTO End) NẾU KHÔNG TỒN TẠI "% exe7Zip%" (ECHO 7-Zip không được cài đặt ở vị trí:% dir7Zip% ECHO Vui lòng cập nhật thư mục ở đâu 7-Zip đã được cài đặt. GOTO End) Các biến sao lưu REM. FOR / f "tokens = 1,2,3,4 delims = /" %% a IN ('date / t') DO (SET DayOfWeek = %% a SET NowDate = %% d - %% b - %% c SET FileDate = %% b - %% c - %% d) IF {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup = Full SET swXCopy = / e) ELSE (SET txtBackup = Tăng dần SET swXCopy = / s / d:% FileDate%) ECHO Bắt đầu sao chép tệp. NẾU KHÔNG TỒN TẠI "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "ignore = 1 tokens = *" %% A IN (% filBackupConfig%) LÀM (ĐẶT Hiện tại = %% ~ A NẾU KHÔNG TỒN TẠI "! Hiện tại! "(ECHO LỖI! Không tìm thấy:! Hiện tại!) ELSE (ECHO Đang sao chép:! Hiện tại! SET Đích =% dirTempBackup%! Hiện tại: ~ 0,1! %% ~ pnxA REM Xác định xem mục nhập là tệp hay thư mục. IF "%% ~ xA" == "" (Thư mục REM. XCOPY "! Hiện tại!" "! Điểm đến!" / v / c / i / g / h / q / r / y% swXCopy%) ELSE (Tệp REM. SAO CHÉP / v / y "! Hiện tại!" "! Đích!"))) ECHO Sao chép xong tệp. ECHO. SET BackupFileDestination =% BackupStorage% Backup_% FileDate% _% txtBackup% .zip REM Nếu tệp sao lưu tồn tại, hãy xóa tệp đó để có tệp mới. NẾU TỒN TẠI "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Nén các tệp đã sao lưu. (Cửa sổ mới) REM Nén tệp bằng 7-Zip trong quy trình ưu tiên thấp hơn. BẮT ĐẦU "Nén bản sao lưu. KHÔNG ĐÓNG" / undernormal / wait "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup%" ECHO Đã nén xong các tệp đã sao lưu. ECHO. ECHO Đang dọn dẹp. NẾU TỒN TẠI "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : Kết thúc ECHO Đã xong. ECHO. ENDLOCAL

Nguồn văn bản thuần túy có sẵn tại đây: sao lưu

Nếu bạn cần trợ giúp để bắt đầu triển khai tập lệnh này, đây là một số liên kết để giúp bạn:

  • Cách tạo tệp Batch
  • Cách tạo Tác vụ theo lịch trình của Windows

Đây cũng là tập lệnh mà tôi sử dụng để sao lưu máy tính của mình hàng ngày (tất nhiên có một vài sửa đổi), vì vậy tôi biết nó hoạt động rất tốt. Tôi hy vọng bạn thấy nó hữu dụng.

Vui thích!