GDrive — BackUp Data to Google Drive from linux
เท่าที่ผมลองศึกษาดูและมีประสบการณ์ในการทำ Backup ข้อมูลไปที่ Google Drive ถ้าเป็น Server ที่เป็น Windows จะง่ายหน่อย Google จะมี App ที่ชื่อว่า Download Backup and Sync สามารถติดตั้งและตั้งค่าการ Syn ข้อมูลและเลือก Folder ที่เราต้องการ Sync ได้เลย แต่ถ้าสำหรับ Linux server จะต้องติดตั้ง Program ที่เป็นของผู้บริการอื่นๆที่ ทำหน้าที่ในการ Upload ข้อมูลไปที่ Drive แต่ถ้าเป็นของ google เอง ลองดูคร่าวๆ ไม่มี Tools ให้ มีเพียง API สำหรับ ให้แต่ละ App สามารถ Update file ไปได้ ซึ่งอนาคต ไม่แน่ Google น่าจะทำมาให้รองรับครับ
ส่วน Tools ที่จะมาแนะนำวันนี้ ผมใช้เป็น RCLONE
ซึ่งเจ้า Tools ตัวนี้รองรับ protocols ได้หลากหลายมาก เช่น WebDAV or S3 ตามรูป เลย
https://network.cmu.ac.th/wiki/index.php/BackUp_Data_to_Google_Drive
มาเข้าเรื่องกันเลย โจทย์ของผม คือต้องการ Backup file จาก Server linux ที่เราทำการ เก็บไว้ อาจจะเกิดจาก ผู้ใช้งาน Upload file เข้ามาหรือ เป็น File ที่เกิดจากการ Backup database ซึ่งมีความสำคัญอย่างมากที่เราต้องนำ File พวกนี้ไปเก็บรักษาไว้ และวันนี้จะมาแนะนำขั้นตอนการติดตั้ง และ วิธีการ Upload file ขึ้น Google Drive มีขั้นตอนดังนี้
- ติดตั้ง RECLONE ให้พิมพ์คำสั่งที่ Server ของเราดังนี้
sudo -v ; curl https://rclone.org/install.sh | sudo bash
2. ตั้งค่าให้ RCLONE ACCESS Google drive
2.1 พิมพ์คำสั่ง ดังนี้
rclone config
2.2 หลังจากนั่น จะได้หน้าจอดังนี้ ให้เลือกเป็น n คือ New remote
2.3 ตั้งชื่อ อันนี้แล้วแต่เราจะตั้งเป็นชื่ออะไรนะครับ ส่วนผม ตั้งเป็น gDrive แต่จะมีผล ตอนที่เราจะทำการ Copy file ต้องระบุ ชื่อตรงนี้ตามที่เราตั้งให้ถูกครับ หลังจากนั้นให้กด Enter
2.4 เลือก ว่าจะ Remote ไปที่ผู้ให้บริการใด รายการที่แสดงตามรูปอาจจะมีการเปลี่ยนแปลง ซึ่งอาจจะมี Update ผู้ให้บริการรายอื่น ตัวเองตรงนี้อาจจะเปลี่ยนแปลงไปจากที่ผม List ให้ล่าสุด ซึ่งของผมตอนนี้จะเป็น 18 คือ Google Drive
2.5 client_id ให้ว่างไว้ และ Enter
2.6 client_secret ให้ว่างไว้ และ Enter
2.7 เลือก ข้อ 1 เพื่อให้ RCLONE สามารถ Full access ได้ หรือ จะใช้ 4 ก็ได้ และ Enter
2.8 service_account_file ปล่อยว่างไว้ และ Enter
2.9 Edit advanced config? (y/n) ให้ พิมพ์ n และ Enter
2.10 การทำ Authenticate ถ้าเลือก Y กรณีที่มีการติดตั้งและเครื่องที่ติดตั้งสามารถเปิด Browser ได้ซึ่งตัว rclone จะ auto เปิด browser เพื่อ ทำการ auth กับ google แต่กรณีผมติดตั้งไว้ที่ server ที่เป็น linux เลยเลือกแบบ N
หลังจากเลือก n แล้ว enter จะได้ script ดังรูป
จากนั้นให้นำ script ไปที่เครื่อง localhost ของเรา และต้องติดตั้ง rclone ตามขั้นตอนที่ 1 แล้ว
rclone authorize "drive" "eyJzYxxxxxxxxxxxXZlIn0"
หลังจากนั้นจะเด้งไปที่ browser ให้เรา auth ผ่าน google
หลังจากนั้นเราจะได้ code มา และนำไปวางที่ config_token
วางตามนี้
2.11 Configure this as a team drive?ป้อน n
2.12 เลือก y
2.13 หลังจากนั้น จะแสดงรายละเอียด ชื่อ ที่เราตั้ง ในที่นี้คือ gGrive นั่นเอง และให้เลือกเป็น q