จากบทความที่แล้ว มาใช้ rsync ในการ Backup ข้อมูลกัน เป็นการ Backup ไฟล์ในเครื่องเดียวกัน
บทความนี้มาดูการ Backup ไฟล์จาก Server หนึ่งไปไว้อีก Server หนึ่ง
โปรแกรมที่ต้องการใช้ คือ rsync และ SSH Server
รูปแบบคำสั่ง
rsync -options -e ต้นทาง ปลายทาง
ทั้งต้นทาง และ ปลายทางสามารถใช้ SSH ได้
ตัวอย่าง การ Backup ด้วยการ Transfer ไฟล์จาก Server IP xxx.xxx.xxx.xxx มาไว้ในเครื่องที่รันคำสั่ง
rsync -av --delete --exclude="home/admin" -e ssh [email protected]:/home /backup/xxx
อธิบายความหมาย
เป็นการ copy ไฟล์จาก server ip xxx.xxx.xxx.xxx folder home ทั้ง folder รวม folder ย่อยทุก folder ยกเว้น /home/admin
มาไว้ที่ /backup/xxx ของเครื่องที่รันคำสั่งนี้
-a, -v, --exclude ดูได้จากบทความ มาใช้ rsync ในการ Backup ข้อมูลกัน
--delete ให้ลบไฟล์ปลายทางถ้าไฟล์ต้นทางถูกลบไป
เพิ่มเติม
ถ้า xxx.xxx.xxx.xxx ไม่ได้ใช้ port 22 ให้ใส่ options
-p เพิ่มเข้าไปหลัง ip เช่น -p 1111
ตัวอย่าง
rsync -av --delete --exclude="home/admin" -e 'ssh -p 1111 ' [email protected]:/home /backup/xxx
สำหรับถ้าต้องการดูโปรแกรสไฟล์ที่กำลังโอนใช้ สามารถใส่ option --progress ,
ถ้าต้องการบีบอัดไฟล์ระหว่างการโอนย้ายสามารถใส่ option -z เพิ่ม
rsync -avz --progress --delete --exclude="home/admin" -e 'ssh -p 1111 ' [email protected]:/home /backup/xxx
ไว้บทความต่อไปจะนำวิธีใช้ rsync แบบไม่ต้องกรอกรหัสผ่านมาฝากนะครับ
อัพเดด 2019-08-02 มาแล้ว วิธี rsync แบบไม่ต้องกรอกรหัสผ่าน ทำตามบทความนี้ได้เลย