สำรองข้อมูลไดเรกทอรีใน Linux โดยใช้ Shell Script
มีหลายตัวเลือกสำหรับการสำรองข้อมูลของคุณในLinux คุณสามารถใช้โปรแกรมซอฟต์แวร์ที่มีให้ใช้ฟรี ได้เช่นfwbackupsและSbackup อย่างไรก็ตาม มีวิธีการง่ายๆ ในการสำรองข้อมูลไดเร็กทอรีโดยไม่ต้องติดตั้งซอฟต์แวร์เพิ่มเติม
เราจะสร้างเชลล์สคริปต์โดยใช้ตัวแปร คำสั่ง tarและคำ สั่ง dateเพื่อสร้างไฟล์สำรองข้อมูลแบบลงวันที่ของไดเร็กทอรี พร้อมด้วยไดเร็กทอรีย่อย
เชลล์สคริปต์เป็นไฟล์ที่มีรายการคำสั่งที่รันตามลำดับ หากคุณมีชุดคำสั่งที่คุณรันเป็นประจำตามลำดับ การสร้างเชลล์สคริปต์ที่มีคำสั่งเหล่านี้จะเป็นประโยชน์ จากนั้น คุณต้องเรียกใช้ไฟล์สคริปต์เพื่อเรียกใช้คำสั่งเท่านั้น
การสร้างไฟล์เชลล์สคริปต์
สำหรับตัวอย่างนี้ เราจะสร้างเชลล์สคริปต์เพื่อสำรองข้อมูลไดเร็กทอรีที่มีไฟล์สำหรับคู่มือผู้ใช้ เรากำลังใช้สภาพแวดล้อมGnome ใน (Gnome)Ubuntu
ขั้นแรก ให้เข้าถึงโฮมไดเร็กตอรี่ของคุณ โดยเลือกโฮมโฟลเดอร์(Home Folder)จากเมนูสถานที่ (Places)File Browserจะเปิดขึ้นสู่โฮมไดเร็กทอรีของคุณ
เรากำลังจะสร้างไฟล์เปล่าขึ้นมาใหม่ โดยเราจะป้อนคำสั่งเพื่อทำการสำรองข้อมูล คลิก(Right-click)ขวาในบานหน้าต่างด้านขวาและเลือกCreate Document | Empty File จากเมนูป๊อปอัป
ไฟล์ถูกเพิ่มในรายการและพร้อมที่จะเปลี่ยนชื่อ พิมพ์(Type)ชื่อไฟล์ โดยให้นามสกุลไฟล์เป็น. sh
สำหรับตัวอย่างนี้ เราตั้งชื่อไฟล์user_guide_backups.shของ เรา
ตอนนี้เราต้องเพิ่มคำสั่งลงในไฟล์ คลิกขวาที่ชื่อไฟล์และเลือกOpen with geditจากเมนูป๊อปอัป
ไฟล์เปิดในgedit ป้อนบรรทัดต่อไปนี้ลงในไฟล์แล้วคลิกบันทึก (Save)วัตถุประสงค์ของแต่ละบรรทัดแสดงไว้ด้านล่าง
หมายเหตุ:(NOTE:)คุณสามารถคัดลอกข้อความต่อไปนี้แล้ววางลงในgedit อย่าลืมเปลี่ยน<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
คำอธิบายทีละบรรทัด
ตารางต่อไปนี้อธิบายว่าแต่ละบรรทัดมีอะไรบ้างในไฟล์เชลล์สคริปต์
Line # | Description | ||||||
1 | This line must be the first line in a bash shell script, which is the default type of script. | ||||||
2 | This line sets up a variable called SRCDIR and sets the value of it to the directory to be backed up. NOTE: Be sure to replace <username> with your username. |
||||||
3 | This line sets up a variable called DESTDIR and sets the value of it to the directory into which the backup file will be written. NOTE: Be sure to replace <username> with your username. |
||||||
4 | This line sets up a variable called FILENAME and sets the value using text and variables containing the date command to add the current date and time to the filename. For example, the filename might be ug-20100212-13:03:45.tgz. NOTE: When using a variable, always start it with the dollar sign ($). If you use a command as part of a variable, enclose the command and the options for the command in parentheses. |
||||||
5 | This line is the tar command with the following function and options added.
|
การแก้ไขการอนุญาต(Permissions)บนไฟล์เชลล์สคริปต์(Shell Script File)
ก่อนเรียกใช้สคริปต์ คุณต้องตรวจสอบให้แน่ใจว่าไฟล์มีสิทธิ์ที่ถูกต้อง ในการดำเนินการนี้ ให้เปิดโฮมโฟลเดอร์(Home Folder) ของคุณ อีกครั้งตามที่กล่าวไว้ข้างต้น และคลิกขวาที่ไฟล์เชลล์สคริปต์ เลือกคุณสมบัติ(Properties)จากเมนูป๊อปอัป
กล่องโต้ตอบคุณสมบัติจะปรากฏขึ้น (Properties)ตรวจสอบ ให้(Make)แน่ใจว่าได้เลือกกล่องกาเครื่องหมายดำเนินการ(Execute)
คลิกปิด(Close) _
การเรียกใช้เชลล์สคริปต์
ในการรันเชลล์สคริปต์ ให้เปิดหน้าต่างเทอร์มินัลโดยเลือกAccessories | Terminalจากเมนูแอปพลิเคชัน(Applications)
เมื่อ หน้าต่าง Terminalเปิดขึ้น คุณควรอยู่ในโฮมโฟลเดอร์(Home Folder)ตามค่าเริ่มต้น การ พิมพ์pwdบนบรรทัดรับคำสั่งและกด Enter จะเป็นการยืนยันข้อเท็จจริงนี้ ที่พร้อมต์ ให้พิมพ์./user_guide_backups.shแล้วกดEnter
คุณควรมีไฟล์.tgz ในโฟลเดอร์ (.tgz)Backupsในโฮมโฟลเดอร์(Home Folder)ของคุณ หากคุณคลิกขวาที่ชื่อไฟล์ คุณจะเห็นตัวเลือกมากมายในการเปิดไฟล์เก็บถาวรในหนึ่งในโปรแกรมเก็บถาวรที่มีอยู่ หรือแตกไฟล์โดยตรงไปยังโฟลเดอร์Backups โดยใช้ คำสั่งExtract Here
ข้อมูลมากกว่านี้
ลิงก์ด้านล่างให้ข้อมูลเพิ่มเติมเกี่ยวกับเชลล์สคริปต์ คำสั่ง tarและdate และคำ สั่งLinuxอื่นๆ
การเขียนสคริปต์
คู่มือฉบับย่อในการเขียนสคริปต์โดยใช้ bash shell(A quick guide to writing scripts using the bash shell)
Bash Shell Scripting – 10 Seconds Guide | All about Linux
คู่มืออ้างอิงทุบตี(Bash Reference Manual)
คำสั่งลินุกซ์
tar MAN หน้า(tar MAN Page)
วันที่ MAN Page(date MAN Page)
คำสั่งทุบตี – Linux MAN Pages(bash commands – Linux MAN Pages)
การสำรวจหน้าเหล่านี้จะช่วยให้คุณสร้าง bash shell script ที่มีประโยชน์ได้
Related posts
วิธีการนำทางและใช้โครงสร้างไดเร็กทอรีลินุกซ์
คำสั่ง Linux FIND พร้อมตัวอย่าง
5 เหตุผลดีๆ ที่ควรเลิกใช้ Windows สำหรับ Linux
HDG อธิบาย : UNIX คืออะไร?
9 สุดยอด Linux Distros สำหรับการแฮ็ก
สร้างและแก้ไขไฟล์ Zip ใน Linux โดยใช้ Terminal
9 สิ่งที่มีประโยชน์ที่ Linux ทำได้ แต่ Windows ทำไม่ได้
กำหนดค่า Ubuntu ให้ไม่หรี่หรือปิดจอแสดงผลที่ไม่ใช้งาน
10 อันดับคำสั่ง Raspberry Pi Linux ที่คุณควรรู้
วิธีการตั้งค่าและกำหนดค่าไฟล์ TCP/IP บน Linux (การตั้งค่า TCP/IP สำหรับ Linux)
ทำไมคำสั่ง "น้อย" จึงดีกว่า "มากกว่า" ใน UNIX และ Linux
ทำความเข้าใจเกี่ยวกับสิทธิ์ของ Linux และการใช้งาน chmod
ค้นหาและเปลี่ยนชื่อโฮสต์ของคุณใน Ubuntu
โปรแกรมป้องกันไวรัสฟรี 7 อันดับแรกสำหรับ Linux
แสดงและซ่อนไอคอนเดสก์ท็อปใน GNOME Linux
แอพ Linux ที่ดีที่สุด 10 อันดับแรกสำหรับผู้ใช้ Ubuntu
5 เกมลินุกซ์ที่ดีที่สุด
วิธีการติดตั้งเครื่องพิมพ์เกือบทุกเครื่องบน Ubuntu
Inodes ใน Linux คืออะไรและใช้อย่างไร?
สิทธิ์ของไฟล์ Linux – Chmod 777 คืออะไรและใช้งานอย่างไร