Windows Batch Script เพื่อสำรองข้อมูล

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

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

เหตุใดจึงต้องใช้สคริปต์บรรทัดคำสั่ง

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

  • คำสั่งพื้นเมือง : อะไรจะดีไปกว่าการสำรองข้อมูลโดยใช้ฟังก์ชันที่มีให้ผ่านโปรแกรมที่สร้างข้อมูลขึ้นมา? ไม่ว่าจะเป็นระบบปฏิบัติการเองโดยใช้คำสั่งคัดลอกไฟล์อย่างง่ายหรือคำสั่งฐานข้อมูลเพื่อสร้างไฟล์ไบนารีที่กู้คืนได้ โปรแกรมต้นทางรู้วิธีสำรองข้อมูลตัวเองดีที่สุด
  • สุดยอดการควบคุม : เนื่องจากสคริปต์บรรทัดคำสั่งปฏิบัติตามขั้นตอนง่ายๆ ทีละขั้นตอน คุณจึงรู้ว่าเกิดอะไรขึ้นและสามารถปรับเปลี่ยนการทำงานได้อย่างง่ายดาย
  • เร็ว : เนื่องจากทุกอย่างเป็นคำสั่งดั้งเดิม จึงไม่มีอะไรต้องตีความ อีกครั้ง คุณกำลังใช้คำสั่งที่ตัวโปรแกรมให้มา ดังนั้นค่าโสหุ้ยจึงถูกเก็บไว้ให้น้อยที่สุด
  • ทรงพลัง : ฉันยังไม่เห็นงานสำรองข้อมูลที่ไม่สามารถทำได้ผ่านสคริปต์บรรทัดคำสั่ง… และฉันได้ทำสิ่งที่ขี้ขลาดไปแล้ว แม้ว่าคุณอาจต้องทำการค้นคว้าและลองผิดลองถูกถ้าคุณมีความต้องการเฉพาะตัวจริงๆ แต่โดยทั่วไปแล้ว ฟังก์ชันและคุณลักษณะในตัวของภาษาสคริปต์ที่คุณใช้อยู่นั้นก็เพียงพอแล้ว
  • ฟรีและยืดหยุ่น : แน่นอน สคริปต์บรรทัดคำสั่งไม่มีค่าใช้จ่ายใดๆ (นอกเวลาในการพัฒนา) ดังนั้น คุณสามารถคัดลอกสคริปต์ของคุณไปยังเครื่องและระบบจำนวนเท่าใดก็ได้โดยใช้เวลาหรือต้นทุนเพียงเล็กน้อยหรือไม่มีเลย เปรียบเทียบกับค่าใช้จ่ายในการซื้อลิขสิทธิ์ซอฟต์แวร์สำรองข้อมูลบนเซิร์ฟเวอร์และ/หรือเครื่องเดสก์ท็อปหลายเครื่อง

ภาพรวมโดยย่อของสคริปต์แบทช์สำรอง

คนส่วนใหญ่ไม่เคยเรียนรู้การใช้สคริปต์บรรทัดคำสั่งมาก่อน และถือว่าเป็น "ศิลปะมืด" บ้าง อย่างไรก็ตาม มันเป็นเรื่องง่ายมากที่จะเรียนรู้ เพื่อแสดงให้เห็นถึงพลังของบรรทัดคำสั่ง ฉันกำลังจัดเตรียมสคริปต์แบตช์ Windows แบบง่ายๆ ที่คุณสามารถใช้เพื่อสำรองข้อมูลสำคัญของคุณ สคริปต์ที่กำหนดค่าและปรับแต่งได้นี้ไม่ต้องการความรู้ใดๆ (หรือความเต็มใจที่จะเรียนรู้) เกี่ยวกับภาษาสคริปต์แบบแบตช์ของ Windows แต่ถ้าคุณตัดสินใจว่าต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสคริปต์แบตช์ของ Windows คุณจะพบว่าสคริปต์นี้เป็นจุดเริ่มต้นที่ดี .

สคริปต์สำรองทำอะไร:

  1. สร้างการสำรองไฟล์และโฟลเดอร์แบบเพิ่มทีละเต็มหรือรายวัน (ดูด้านล่างสำหรับคำจำกัดความ) ที่คุณระบุในไฟล์ข้อความการกำหนดค่าแยกต่างหาก (ดูด้านล่าง)
    • เมื่อตั้งชื่อโฟลเดอร์ โฟลเดอร์นั้นและโฟลเดอร์ย่อยทั้งหมดจะได้รับการสำรองข้อมูล
    • เมื่อตั้งชื่อไฟล์แล้ว ไฟล์นั้นจะถูกสำรองไว้เท่านั้น
  2. บีบอัด (zips) ไฟล์ที่สำรองไว้ หลังจากที่คัดลอกไฟล์ทั้งหมดที่จะสำรองแล้ว ไฟล์เหล่านั้นจะถูกบีบอัดเพื่อประหยัดพื้นที่ ต้องติดตั้ง 7-Zip ในระบบของคุณจึงจะใช้งานได้
  3. กำหนดวันที่ไฟล์บีบอัดและย้ายไปยังตำแหน่งที่จัดเก็บ หลังจากบีบอัดไฟล์สำรองแล้ว ไฟล์เก็บถาวรที่เป็นผลลัพธ์จะได้รับชื่อไฟล์ตามวันที่ปัจจุบัน จากนั้นจึงย้ายไปยังตำแหน่งที่เก็บข้อมูลที่กำหนดค่าไว้ เช่น ไดรฟ์ภายนอกหรือตำแหน่งเครือข่าย
  4. ทำความสะอาดหลังจากตัวเอง หลังจากงานทั้งหมดเสร็จสิ้น แบทช์สคริปต์จะล้างไฟล์ชั่วคราวทั้งหมดที่สร้างขึ้น

ความต้องการ:

Windows 2000/XP/2003/Vista หรือใหม่กว่า

7-Zip (ฟรี)

ไฟล์การกำหนดค่า:

ไฟล์กำหนดค่าเป็นเพียงไฟล์ข้อความที่มีไฟล์และโฟลเดอร์สำหรับสำรองข้อมูล โดยป้อนรายการสำรองหนึ่งรายการต่อบรรทัด ไฟล์นี้ ต้อง มีชื่อว่า "BackupConfig.txt" และอยู่ในโฟลเดอร์เดียวกับสคริปต์สำรอง นี่คือตัวอย่างของไฟล์ BackupConfig.txt (หมายเหตุ อักขระ “#” ในบรรทัดแรกระบุว่าบรรทัดนั้นเป็นความคิดเห็น ความคิดเห็นจะถูกละเว้นเสมอเมื่อสคริปต์ทำงาน):

# ป้อนชื่อไฟล์และโฟลเดอร์หนึ่งรายการต่อบรรทัด

C:เอกสารและการตั้งค่าJason FaulknerDesktop C:Documents and SettingsJason FaulknerMy Documents ไฟล์สำคัญ C:ScriptsBackupScript.bat

ตัวอย่างข้างต้นจะสำรองข้อมูลเดสก์ท็อปของผู้ใช้ Windows Jason Faulkner (และโฟลเดอร์ทั้งหมดบนเดสก์ท็อป) โฟลเดอร์ชื่อ "ไฟล์สำคัญ" ภายใน My Documents (และโฟลเดอร์ทั้งหมดภายใน "ไฟล์สำคัญ") และไฟล์ "BackupScript.bat" ภายใน ไดเร็กทอรี C:Scripts

ประเภทของการสำรองข้อมูล:

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

    ได้รับการสนุบสนุน, ช่วยเหลือ. เมื่อมีการจัดเตรียมไฟล์ ไฟล์นั้นจะถูกสำรองไว้เสมอ ไม่ว่าจะถูกแก้ไขเมื่อใด

สคริปต์แบทช์การสำรองข้อมูลของ Windows

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

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

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

โดยไม่ต้องกังวลใจอีกต่อไป นี่คือ:

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

@ECHO OFF REM BackupScript REM เวอร์ชัน 1.01 อัปเดต: 2008-05-21 REM โดย Jason Faulkner (บทความ[-at-]132solutions.com) REM ดำเนินการสำรองข้อมูลแบบเต็มหรือเพิ่มขึ้นของโฟลเดอร์และไฟล์ที่กำหนดค่าโดยผู้ใช้ การใช้งาน REM--- REM > BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM ---ตัวเลือกการกำหนดค่า--- REM ตำแหน่งโฟลเดอร์ที่คุณต้องการจัดเก็บไฟล์สำรองข้อมูลที่เป็นผลลัพธ์ REM โฟลเดอร์นี้ต้องมีอยู่ อย่าใส่ '' ต่อท้าย นี่จะถูกเพิ่มโดยอัตโนมัติ REM คุณสามารถป้อนเส้นทางภายในเครื่อง อักษรระบุไดรฟ์ภายนอก (เช่น F:) หรือตำแหน่งเครือข่าย (เช่น \serverbackups) SET BackupStorage=C:Backup REM คุณต้องการสำรองข้อมูลแบบเต็มในวันใดของสัปดาห์ REM ป้อนค่าใดค่าหนึ่งต่อไปนี้: Sun, Mon, Tue, Wed, Thu, Fri, Sat, * REM วันในสัปดาห์อื่นนอกเหนือจากที่ระบุด้านล่างจะเรียกใช้การสำรองข้อมูลส่วนเพิ่ม REM หากคุณป้อน '*' การสำรองข้อมูลทั้งหมดจะทำงานทุกครั้ง SET FullBackupDay=* ตำแหน่ง REM ที่ติดตั้ง 7-Zip บนคอมพิวเตอร์ของคุณ REM ค่าเริ่มต้นอยู่ในโฟลเดอร์ '7-Zip' ในไดเร็กทอรี Program Files ของคุณ SET InstallLocationOf7Zip=%ProgramFiles%7-Zip REM +--------------------------------------- --------------------------------- REM | ห้ามเปลี่ยนแปลงสิ่งใดด้านล่างที่นี่ เว้นแต่คุณจะรู้ว่ากำลังทำอะไรอยู่ | REM +------------------------------------------------ ------------------------ + ตัวแปรการใช้งาน REM SET exe7Zip=%InstallLocationOf7Zip%7z.exe SET dirTempBackup=%TEMP%backup SET filBackupConfig=BackupConfig.txt REM ตรวจสอบความถูกต้อง หากไม่มีอยู่ %filBackupConfig% ( ECHO ไม่พบไฟล์การกำหนดค่า หายไป: %filBackupConfig% GOTO End ) หากไม่มีอยู่ "%exe7Zip%" ( ไม่ได้ติดตั้ง ECHO 7-Zip ในตำแหน่ง: %dir7Zip% ECHO โปรดอัปเดตไดเรกทอรีที่ ติดตั้ง 7-Zip แล้ว GOTO End ) REM ตัวแปรสำรอง สำหรับ /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=Incremental SET swXCopy=/s /d:%FileDate% ) ECHO เริ่มคัดลอกไฟล์ ถ้าไม่มีอยู่ "%dirTempBackup%" MKDIR "%dirTempBackup%" สำหรับ /f "skip=1 tokens=*" %%A IN (%filBackupConfig%) DO ( SET Current=%%~A IF ไม่มีอยู่ "!Current! " ( ECHO ERROR! Not found: !Current! ) ELSE ( ECHO Copying: !Current! SET Destination=%dirTempBackup%!Current:~0,1!%%~pnxA REM ตรวจสอบว่ารายการเป็นไฟล์หรือไดเร็กทอรี IF "%%~xA"=="" ( REM Directory. XCOPY "!Current!" "!Destination!" /v /c /i /g /h /q /r /y %swXCopy% ) ELSE (ไฟล์ REM. COPY /v /y "!Current!" "!Destination!" ) ) ) ECHO เสร็จสิ้นการคัดลอกไฟล์ เสียงสะท้อน SET BackupFileDestination=%BackupStorage%Backup_%FileDate%_%txtBackup%.zip REM หากมีไฟล์สำรองอยู่ ให้ลบไฟล์ออกแทนไฟล์ใหม่ ถ้ามีอยู่ "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%" ECHO กำลังบีบอัดไฟล์สำรอง (หน้าต่างใหม่) REM บีบอัดไฟล์โดยใช้ 7-Zip ในกระบวนการที่มีลำดับความสำคัญต่ำกว่า เริ่ม "บีบอัดข้อมูลสำรอง อย่าปิด" /belownormal /รอ "%exe7Zip%" a -tzip -r -mx5 "%BackupFileDestination%" "%dirTempBackup%" ECHO บีบอัดไฟล์สำรองเสร็จแล้ว เสียงสะท้อน ECHO ทำความสะอาด ถ้ามีอยู่ "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%" ECHO :สิ้นสุด ECHO เสร็จสิ้น เสียงสะท้อน ENDLOCAL

แหล่งข้อความธรรมดามีอยู่ที่นี่:สำรอง

หากคุณต้องการความช่วยเหลือในการเริ่มต้นใช้งานสคริปต์นี้ ลิงก์ต่อไปนี้จะช่วยคุณได้:

  • วิธีสร้างไฟล์แบตช์
  • วิธีสร้าง Windows Scheduled Task

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

สนุก!

โพสต์ล่าสุด

$config[zx-auto] not found$config[zx-overlay] not found