Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

มีหลายตัวเลือกสำรองข้อมูลใน Linux เช่น fwbackups, Sbackup แต่มีวิธีง่ายกว่า: สร้าง Shell Script ใช้ตัวแปร คำสั่ง tar และ date สร้างไฟล์สำรองมีวันที่ของโฟลเดอร์ พร้อมซับโฟลเดอร์

Shell Script คือไฟล์ chứaรายการคำสั่งที่รันตามลำดับ หากมีชุดคำสั่งที่รันบ่อย สร้าง Script ไว้ แล้วรันไฟล์ Script เดียวก็พอ

    สร้างไฟล์ Shell Script

    ตัวอย่าง: สร้าง Script สำรองโฟลเดอร์เอกสารคู่มือผู้ใช้ ใช้ GNOME บน Ubuntu

    เข้า Home Directory: เลือก Home Folder จากเมนู Places File Browser เปิดที่ Home

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    สร้างไฟล์ว่างใหม่: คลิกขวาบานขวา เลือก Create Document | Empty File

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    ไฟล์เพิ่มเข้ารายการ พร้อมrename พิมพ์ชื่อไฟล์ นามสกุล .sh

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    ตัวอย่างตั้งชื่อ user_guide_backups.sh

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    เพิ่มคำสั่งในไฟล์: คลิกขวาไฟล์ เลือก Open with gedit

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    เปิดใน gedit ใส่บรรทัดต่อไปนี้ คลิก Save อธิบายแต่ละบรรทัดด้านล่าง

    หมายเหตุ: คัดลอกข้อความด้านล่างวางใน gedit ได้ แก้ <username> ให้เป็น username ของคุณ

    #!/bin/bash
    SRCDIR="/home/<username>/Documents/my_work/"
    DESTDIR="/home/<username>/Backups/"
    FILENAME=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz
    tar --create --gzip --file=$DESTDIR$FILENAME $SRCDIR

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    อธิบายทีละบรรทัด

    ตารางอธิบายแต่ละบรรทัดในไฟล์ Shell Script

    บรรทัด # คำอธิบาย
    1 บรรทัดแรกต้องเป็นบรรทัดแรกของ bash shell script (ประเภทเริ่มต้น)
    2 ตั้งตัวแปร SRCDIR ค่า = โฟลเดอร์ที่จะสำรอง
    หมายเหตุ: แทน <username> ด้วย username จริง
    3 ตั้งตัวแปร DESTDIR ค่า = โฟลเดอร์ปลายทางเก็บไฟล์สำรอง
    หมายเหตุ: แทน <username> ด้วย username จริง
    4 ตั้งตัวแปร FILENAME ค่า = ข้อความ + ตัวแปร date เพื่อใส่วันที่/เวลาในชื่อไฟล์ เช่น ug-20100212-13:03:45.tgz
    หมายเหตุ: ใช้ตัวแปรนำหน้าด้วย $ หากใช้คำสั่งในตัวแปร ให้ครอบคำสั่งและออปชันในวงเล็บ
    5 คำสั่ง tar พร้อมฟังก์ชันและออปชัน:

    --create สร้าง Archive ใหม่ (หรือ truncate เก่า ถ้าชื่อไฟล์ซ้ำ) เขียนไฟล์/โฟลเดอร์ที่ระบุลงไป
    --gzip บอก tar บีบอัดไฟล์ใน Archive ด้วย gzip
    --file ระบุชื่อไฟล์ให้ tar ที่นี่ประกอบจาก DESTDIR, FILENAME, SRCDIR

    แก้ไข Permission ของไฟล์ Shell Script

    ก่อนรัน Script ต้องตรวจ Permission เปิด Home Folder อีกครั้ง คลิกขวาไฟล์ Script เลือก Properties

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    กล่อง Properties แสดง ติ๊กช่อง Execute

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    คลิก Close

    รัน Shell Script

    เปิดเทอร์มินอล: เลือก Accessories | Terminal จากเมนู Applications

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    Terminal เปิดอยู่ที่ Home Folder โดยค่าเริ่มต้น พิมพ์ pwd กด Enter ยืนยันได้ ที่พรอมต์ พิมพ์ ./user_guide_backups.sh กด Enter

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    ควรมีไฟล์ .tgz ในโฟลเดอร์ Backups ใน Home Folder คลิกขวาไฟล์ มีตัวเลือกเปิด Archive ในโปรแกรมบีบอัด หรือ Extract Here โดยตรง

    สำรองโฟลเดอร์ใน Linux ด้วย Shell Script

    ข้อมูลเพิ่มเติม

    ลิงก์ด้านล่างให้ข้อมูลเพิ่มเติมเกี่ยว Shell Script, คำสั่ง tar, date และคำสั่ง Linux อื่นๆ

    Scripting

    คู่มือเร็วเขียน Script ด้วย Bash Shell
    Bash Shell Scripting – 10 Seconds Guide | All about Linux
    Bash Reference Manual

    Linux Commands

    tar MAN Page
    date MAN Page
    bash commands – Linux MAN Pages

    สำรวจหน้าเหล่านี้ช่วยสร้าง Bash Shell Script ที่มีประโยชน์ได้