rsync + ความสะเพร่า = หายนะของข้อมูล


เป็นเรื่องธรรมดาไปแล้วสำหรับการทำ Backup ข้อมูลในยุคปัจจุบัน เมื่อก่อนผมจะใช้วิธีสุดคลาสสิคก็คือ Copy & Paste อย่างเดียว แต่จริงๆแล้วโปรแกรมช่วยอำนวยความสะดวกในการบน Ubuntu ก็มีหลายโปรแกรมให้เลือกใช้ ที่น่าสนใจก็น่าจะเป็น rsync ซึ่งมีความสามารถล้นเหลือ แถมมีมาอยู่แล้วบน Ubuntu ข้อเสียคือเป็น Command-line interface (มีแบบ GUI เหมือนกันชื่อ grsync)

rsync -av --delete /source-directory /destination-directory

ออปชัน -a คือ archive, -v คือ verbose, –delete คือ ให้ลบไฟล์ที่ไม่มีใน source directory ด้วยนะ เผื่อว่าเราได้ลบไฟล์เก่าๆออกไปแล้ว และไม่จำเป็นต้องเก็บมันไว้ใน Backup อีกต่อไป

วันนี้ไม่รู้เป็นไรขอลองเล่น rsync ดู ลองแรกๆติดใจง่ายดี ไม่รู้เลยว่าหายนะจะมาเยือน ดูกันตามนี้นะครับ

rsync -av --delete ~/Music /media/disk3/

rsync -av --delete ~/Music/ /media/disk3/

สองคำสั่งนี้ต่างกันแค่ Music กับ Music/ แต่ผลลัพธ์นี่คนละเรื่องเลยครับ

คำสั่งแรก คือ การ Backup โฟลเดอร์ Music ใน Home directory ไปที่ฮาร์ดดิสก์อีกลูก โดยสร้างโฟลเดอร์ Music ขึ้นมาใหม่ในฮาร์ดดิสก์ลูกนั้นหรือถ้ามีโฟลเดอร์ที่ชื่อ Music ในฮาร์ดดิสก์ลูกนั้นอยู่แล้วก็จะ copy เอาไฟล์ใหม่ๆไปแทนที่ และ ลบไฟล์ที่ไม่มีชื่อตรงกับไฟล์ที่อยู่ในโฟลเดอร์ Music ใน Home directory ทิ้ง

คำสั่งที่สอง คือ การ Backup ไฟล์และซับไดเรกทอรีที่อยู่ในโฟลเดอร์ Music ใน Home directory ไปที่ฮาร์ดดิสก์อีกลูก เพราะฉะนั้นทุกสิ่งในโฟลเดอร์ Music ก็จะไปอยู่แทนที่ไฟล์เดิมในฮาร์ดดิสก์เลย ไม่ได้สร้างโฟลเดอร์ขึ้นมาใหม่ และทุกสิ่งทุกอย่างที่ไม่มีชื่อตรงกับไฟล์ที่อยู่ในโฟลเดอร์ Music ใน Home directory ก็จะถูกลบทิ้ง

ผมพลาดไปเพราะรันคำสั่งที่สองนี่แหละ เพราะอ่าน man page มาแล้วเห็นว่ามันต่างกัน เลยอยากลองว่าผลจะเป็นไง แต่ตอนลองดันลืมเอา option –delete ออก ผลก็คือผมเห็นไฟล์งาน Thesis (ซึ่งเพิ่งจะเริ่มตั้งไข่) หนังที่ดาวน์โหลดมา หนังสือ และอะไรอื่นๆอีกมากมายหายไปต่อหน้าต่อตา แล้วไฟล์เพลง mp3 ก็ทยอยเข้ามาแทนที่

เจี๊ยก! Oh my God!!!!!!!!!

จริงๆแล้วคำสั่ง Backup ที่ถูกต้องในแบบที่สอง คือ

rsync -av --delete ~/Music/ /media/disk3/Music/

ยังดีที่ไฟล์งานยังมี Backup อยู่ใน flash drive (flash drive  อันนี้ผมซื้อมาตั้งแต่ 3 ปีที่แล้ว ราคาสามพันกว่าบาท แพงชะมัด เห็นราคาตอนนี้แล้วเจ็บใจ๊…เจ็บใจ) โชคดีไป เสียดายก็แต่พวกไฟล์หนังที่อุตส่าห์โหลดมา

สุดท้ายเรื่องนี้สอนให้รู้ว่า “จง Backup ข้อมูลของคุณซะ เผื่อมีอะไรผิดพลาด” — (รวมถึงความผิดพลาดจากการ Backup ด้วย แหะๆๆ)

2 Responses to rsync + ความสะเพร่า = หายนะของข้อมูล

  1. akedemo says:

    ยังไงก็แนะนำคำสั่งแบบที่มี / ต่อท้ายไดเร็กทอรี่ดีกว่า ยิ่งสำหรับคนมือไวที่ชอบกด tab เพื่อ autocomplete ยังไงก็จะมี / ต่อท้ายตลอด

    ที่สำคัญก็คือต้องเตือนตัวเองไว้ให้ใส่พาธที่จะ Backup ให้เต็ม

  2. i am in the server room says:

    ใช้ rsync แบบไม่เข้าใจคำสั่งอย่างถ่องแท้เนี่ย อันตรายจริงๆ นะ

Leave a Reply

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 / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: