How to wirte backup script Ubuntu

สวัสดีครับ วันนี้ได้โอกาสตรวจสอบ Script Auto backup ที่เคยเขียนไว้นานมากแล้วครับ เลยขอยกตัวอย่างให้ดู โดยผมจะสาธิตการ Backup โดยใช้คำสั่ง tar แทรกไว้ใน script นะครับ ซึ่งเป็น script ที่ง่ายๆครับ แบบเทพๆที่คนอื่นเขียนจะยาวและยากกว่านี้เยอะ แต่เอาแบบง่ายๆก็สามารถทำงานได้แล้วครับ มาเริ่มกันเลย

คำสั่ง tar จะมีคำสั่งดังนี้

c = สร้าง
v = โหมด Verbose คือให้เห็นรายละเอียดของการทำงานของ tar ออกทางหน้าจอ terminal
p = รักษาไฟล์และไดเรกทอรีสิทธิ์
z= นี้จะบอกให้ tar บีบอัดไฟล์เพื่อลดขนาดของไฟล์
f = ชื่อไฟล์

รูปแบบการใช้คำสั่ง tar [1]

# tar -cvpzf   /BackupDirectory/backupfilename.tar.gz   /ImportantData/directory/path

อธิบายได้ดังนี้  เอาข้อมูลจาก /BackupDirectory ไปสร้างเป็นไฟล์ tar โดยใช้ option  -cvpzf และเอาไปเก็บไว้ที่  /ImportantData/directory/path

ส่วนการสร้าง script เพื่อ backup นั้นก็ไม่ยากครับ

อันดับแรก สร้าง script ก่อน ด้วยคำสั่ง

vim monthly_backup.sh

จากนั้นก็ก็อฟข้อมูลข้างล่างไปวาง

#!/bin/bash
#Purpose = Backup of Important Data
#Created on 17-1-2012
#Author = Hafiz Haider
#Version 1.0
#START

TIME=`date +%b-%d-%y`            # วันที่ครับ โดยจะเป็นปัจจุบันนะ
FILENAME=backup-$TIME.tar.gz    # ชื่อไฟล์ที่เราจะเซฟครับ โดยมันจะมีคำว่า backup-แล้วตามด้วยเวลาปัจจุบัน หากเราอยากเปลี่ยนที่ก็สามารถเปลี่ยนจาก backup เป็นอย่างอื่นได้ครับ
SRCDIR=/imp-data                    #  Directory ต้นทางที่เราจะทำการ backup ครับ ในกรณีนี้หากใน /imp-data มีไฟล์อื่นอยู่ด้วยมันจะเก็บมาทุกไฟล์เลยครับ
DESDIR=/mybackupfolder            # Destination ปลายทางที่เราจะเอาไว้เก็บไฟล์ที่เรา backup ครับ
tar -cpzf $DESDIR/$FILENAME $SRCDIR    #เรียกใช้คำสั่ง tar เพื่อบีบอัดข้อมูลครับ และก็เรียกให้มันอ้างอิงค่า source และ destination path ผ่าน ตัวแปรที่เรากำหนดให้ด้านบนครับ

#END

Ref:http://www.broexperts.com/2012/06/how-to-backup-files-and-directories-in-linux-using-tar-cron-jobs/

โฆษณา
ข้อความนี้ถูกเขียนใน Home Catagory คั่นหน้า ลิงก์ถาวร

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

Connecting to %s