สำรองข้อมูลไดเรกทอรีใน 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

ไฟล์เปิดใน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

การแก้ไขไฟล์เชลล์สคริปต์ใน gedit

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

ตารางต่อไปนี้อธิบายว่าแต่ละบรรทัดมีอะไรบ้างในไฟล์เชลล์สคริปต์

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.

–create This function creates a new archive (or truncates an old one if the filename specified already exists) and writes the named files or directory to it.
–gzip This option tells tar to compress the files in the archive using the gzip utility.
–file This option gives tar the filename to use. In this case, we assembled the filename using the DESTDIR, FILENAME, and SRCDIR variables.

การแก้ไขการอนุญาต(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

ตัวเลือกเมนูป๊อปอัปสำหรับ .tgz file

ข้อมูลมากกว่านี้

ลิงก์ด้านล่างให้ข้อมูลเพิ่มเติมเกี่ยวกับเชลล์สคริปต์ คำสั่ง 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 ที่มีประโยชน์ได้



About the author

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



Related posts