การสำรองข้อมูล
- แนะนำการสำรองข้อมูลทั้ง backup และ restore
- cp เป็นคำสั่งพื้นฐานเบื้องต้นที่ใช้คัดลอกข้อมูล
- ลินุกซ์นิยมรูปแบบคำสั่งเป็นประมาณว่า cp source target
โดยที่ source หมายถึง directory หรือ file ต้นทาง
ส่วน target หมายถึง directory หรือ file ปลายทาง - ลองคำสั่ง cp -pv /etc/resolv.conf /tmp ใช้คัดลอกแฟ้มต้นทางคือ /etc/resolv.conf ไปเก็บไว้ที่ directory /tmp
ค่า -p คือให้คงค่ารายละเอียดของต้นฉบับเดิมเช่นเวลา -v คือให้แสดงขั้นตอนขณะทำงาน ผลคือได้แฟ้มใหม่อยู่ที่ /tmp/resolv.conf - ลองคำสั่ง cp -pv /etc/resolv.conf /tmp/mytest.txt ใช้คัดลอกแฟ้มต้นทางคือ /etc/resolv.conf ไปเก้บที่แฟ้ม /tmp/mytest.txt
ผลคือได้แฟ้มใหม่อยู่ที่ /tmp/mytest.txt เนื้อหาเดียวกับ /etc/resolv.conf - ลองคำสั่ง cp -Rpv /etc/network /tmp ใช้คัดลอกแฟ้มต้นทางคือ /etc/network พร้อม subdirecotry ไปเก็บไว้ที่ directory /tmp
ค่า -R คือเอา subdirectory มาด้วย ผลคือได้ directory ใหม่อยู่ที่ /tmp/network - โปรแกรม rsync ทำงานคล้ายกับ cp ต่างกันที่ rsync สามารถคัดเลือกเฉพาะที่แตกต่าง หรือลบส่วนต่างทิ้งได้
เหมาะสำหรับการคัดลอกให้ได้ข้อมูลที่เหมือนกันกับต้นฉบับ - ลองคำสั่ง rsync -auv /etc/network /tmp สังเกตุดูว่าจะมีการคัดลอกข้อมูลไปเก็บที่ /tmp
ค่า -a คือให้คงค่ารายละเอียดของต้นฉบับเดิมเช่นเวลา -v คือให้แสดงขั้นตอนขณะทำงาน -u คือเลือกเฉพาะที่แตกต่าง - ลองคำสั่ง rsync -auv /etc/network /tmp อีกครั้ง คราวนี้จะไม่มีการคัดลอกข้อมูลไปเนื่องจากว่า ของเดิมถูกต้องครบถ้วนอยู่แล้ว
- ตัวอย่างคำสั่ง rsync -auv –delete /etc/network /tmp
ค่า –delete คือให้ลบแฟ้มบนปลายทางที่แตกต่างออกด้วย ทำให้ทั้งต้นทางและปลายทางมีข้อมูลเหมือนๆกัน - โปรแกรม cp ใช้สำหรับคัดลอกแฟ้มภายใน server เดียวกันเท่านั้น
หากต้องการคัดลอกข้าม server ต้องใช้โปรแกรม scp
และต้องมีการติดตั้ง ssh server บน server นั้นก่อนด้วย - ลองคำสั่ง scp /etc/resolv.conf [email protected]:/tmp
เป็นการคัดลอกแฟ้ม /etc/resolv.conf ไปเก็บไว้ที่ /tmp ของ server ชื่อ myserver.domain ด้วยผู้ใช้คือ myname
รูปแบบการระบุ server คล้ายกับการ ssh คือ username@server แต่มีเครื่องหมาย : ต่อท้ายพร้อม directory ปลายทาง
ตอนคำสั่ง scp เริ่มทำงาน จะมีการถาม username ต้องป้อนรหัสผ่านให้ถูกต้องด้วย - ลองคำสั่ง scp -r /etc/resolv.conf [email protected]:/tmp
ค่า -r คือเอา subdirectory มาด้วย - ลองคำสั่ง scp [email protected]:/etc/resolv.conf /tmp เป็นการคัดลอกข้อมูลจาก server ตัวอื่นมาเก็บ
- โปรแกรม rsync สามารถคัดลอกข้อมูลระหว่าง server ได้ด้วย
- ลองคำสั่ง rsync -auv -e ssh [email protected]:/etc/network /tmp
รูปแบบคำสั่งทำนองเดียวกับ scp แต่ต้องเพิ่มค่า -e ssh เข้าไป เป็นการกำหนดให้ rsync ผ่าน ssh
ที่มา : http://opensource.cc.psu.ac.th
Examples
To copy file from /foo/*.tar.gz to a remote server called server1.cyberciti.biz, enter:
rsync -av -P /foo/*.tar.gz [email protected]:~
OR
rsync -av --progress /foo/*.tar.gz [email protected]:~
In this example, copy files from a remote server:
rsync -av --progress root@nas01:/tmp/*Office* .
Off
08
Aug