rsync

Backup อย่างมีสไตล์ด้วย rsync

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

หากใช้คำสั่ง rsync โปรแกรมจะทำหน้าที่เปรียบเทียบกับข้อมูลเดิมและทำการคัดลอกเฉพาะไฟล์ที่มีข้อมูลเปลี่ยนแปลงไปเท่านั้น หากคุณต้องสำรองข้อมูลขนาดใหญ่มาก 2-3G เช่น บริการสำรองข้อมูลของเว็บโฮสติ้ง หรือ การสำรองข้อมูลที่มีการเปลี่ยนแปลงบ่อยๆ เช่น ไฟล์เซิร์ฟเวอร์ การสำรองข้อมูลโดยคำสั่ง cp ก้อใช้เวลานานกว่าการใช้คำสั่ง rsync เป็นอย่างมาก

หากคุณต้องการสำรองข้อมูลใน /home ลงใน usb harddisk หรือ harddisk อีกก้อน สามารถใช้คำสั่งดังนี้

#rsync -rvl /home /mnt/sdb1/backup

คำสั่งข้างต้นจะทำการสำรองข้อมูลจาก /home ไปยัง /mnt/sdb1/backup หากมีไฟล์ที่อยู่ใน /home ถูกลบไป ไฟลืที่ทำการสำรองใน /mnt/sdb1/backup จะไม่ถูกลบไปด้วย หากต้องการให้การสำรอง sync เหมือนกันกับ /home ตลอดให้คุณเพิ่ม --progress --update --delete เข้าไปด้วยดังนี้

#rsync -rvl --progress --update --delete /home /mnt/sdb1/backup

หากต้องการสำรองข้อมูลทุกๆ วันให้คุณตั้งค่าใน crontab ครับ เพียงเท่านี้ี้คุณก็สามารถสำรองข้อมูลของคุณได้แล้ว ลองประยุกต์ใช้โดยการเขียน shell script เพื่อสำรองข้อมูลแบบ snapshot ดูนะครับ ผมคิดว่าเป็นประโยชน์มากทีเดียว

synchronize repository จาก mirror server

สำหรับท่านที่ต้องการความสดใหม่สามารถ sync repo จาก nluug.nl หรือ Ibiblio ได้ โดยสร้าง dir ใน home ดังนี้

# mkdir /home/repo
# mkdir /home/repo/pclinuxos
# mkdir /home/repo/pclinuxos/2007

Syndicate content