ใช้ rclone ซิงค์ข้อมูลกับ Google Drive
Tags: rclone, googledrive, cli
Published: 2020-07-09 10:40:30

**สวัสดีคร้าบบ!!** 😁 **บทความ**นี้ก็จะบอกวิธีที่จะ..... ใช้ **rclone ซิงค์ข้อมูลกับ Google Drive** 😮

แล้ว **rclone** คืออะไร.. 
มันคือ **Open-source tools** ที่เราสามารถ **Copy file** ของเราหรืออะไรก็แล้วแต่ ไปเก็บไว้บน **Cloud Storage** ต่างๆ ได้

> **Source:** [Link](https://network.cmu.ac.th/wiki/index.php/BackUp_Data_to_Google_Drive#:~:text=rclone%20%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99%20open%20source%20tool,%E0%B8%97%E0%B8%B3%E0%B8%87%E0%B8%B2%E0%B8%99%E0%B8%88%E0%B8%B0%E0%B8%84%E0%B8%A5%E0%B9%89%E0%B8%B2%E0%B8%A2%E0%B8%81%E0%B8%B1%E0%B8%9A%20rsync)

---

งั้นเราก็มาเริ่มกันเลยดีกว่า 😁 แต่ก่อนจะไปเริ่ม.. เรามาลง **Software** ก่อนดีกว่า
1. [**rclone**](https://rclone.org/downloads/) ( [เป็นตัวหลักเลย](https://rclone.org/) )

ต่อไปก็ Google Accounts และ Google Drive แล้วก็มาลองดูกันดีกว่าครับ

---

# CLI

มาถึงเราก็ **run** คำสั่ง **rclone config** ก่อนเลย 
![rclone config](https://dev-to-uploads.s3.amazonaws.com/i/wzyjjpz6hmhcebn7wmh4.png)


ต่อไปก็จะมีตัวเลือกอยู่ **3** อย่างซึ่งเราจะเลือก ```New remote```
![New Remote](https://dev-to-uploads.s3.amazonaws.com/i/j6hap862lfbl3s3yipql.png)


เสร็จแล้ว.. เราก็ตั้งชื่อ **Remote** ของเรา 😮 เพื่อไม่ให้เข้าถึงยากก็ใช้คำง่ายๆ เอาครับ อย่างเช่น **remote, gdrive, drive, etc..**
![Remote Name](https://dev-to-uploads.s3.amazonaws.com/i/gqxkwmdfp0atqd7xdxir.png)


คราวนี้มันจะมี**หัวข้อ**ให้เราเลือก**เต็มไปหมดเลยย!! 😕** เราก็ลองหาคำว่า ``Google Drive`` ซึ่งมันอยู่ในเลขที่ 13
![Select Storage Type](https://dev-to-uploads.s3.amazonaws.com/i/pkh899ejauejnszde6j1.png)
แล้วเราก็พิมพ์คำว่า **``drive``** หรือเลข **13** แล้วกด **ENTER** ไปได้เลย!! 😀


ต่อไปเขาก็จะให้เราใส่ ``Client ID``  อ้าวว.. แล้วจะเอา ID นั้นมาจากไหนละ 🙄
![rclone need client id](https://dev-to-uploads.s3.amazonaws.com/i/67locp7yx0a051dn4288.png)

ซึ่งก็ต้องไปเอา **ID** จาก [**Google API**](https://console.developers.google.com/) 😮 ครับผม!


พอเข้าไปเราก็ **Create Projects** เพื่อที่จะสร้าง **ID** 🙂
![CREATE PROJECTS | Google Cloud Platform](https://dev-to-uploads.s3.amazonaws.com/i/2uy0mgiwyv548nx67gom.png)


แล้วตั้งชื่อ**โปรเจกต์** พอตั้งชื่อแล้วก็กด ``CREATE`` **ไปเลย!!** 😁
![CREATE PROJECTS 2 | Google Cloud Platform](https://dev-to-uploads.s3.amazonaws.com/i/oypbqpf1c3lysu24sqtu.png)

หลังจากนั้นก็กด `` + ENABLE APIS AND SERVICES `` 👍
![ADD API +](https://dev-to-uploads.s3.amazonaws.com/i/8ai2qhht4ngjyvt6mw5j.png)

หลังจากนั้นก็หา **Google Drive API**
![HOME API](https://dev-to-uploads.s3.amazonaws.com/i/ubnsrb7bl5u3af6tekzl.png)
![API SEARCH](https://dev-to-uploads.s3.amazonaws.com/i/x2rk6pz1wee8625e9pg2.png)

หลังจากนั้นก็กด ``ENABLE`` เลย!! ✨ 
![ENABLE APIS](https://dev-to-uploads.s3.amazonaws.com/i/scb6gg0veh29ifhl0ev4.png)


หลังจากนั้นพอเสร็จแล้ว ก็กดไปที่ ``Credentials`` ไม่ใช่ `` Create Credentials``
![WHEN APIS FETCH FINISH](https://dev-to-uploads.s3.amazonaws.com/i/be9flmq5r7qy7phs7ag8.png)


พอกดไปที่ ``Credentials`` แล้วให้กด ``CONFIGURE CONSENT SCREEN``
![CONFIGURE CONSENT SCREEN](https://dev-to-uploads.s3.amazonaws.com/i/b342dwqxq49h5bw6pz1l.png)


แล้วก็เลือก ``External`` แล้วกด  ``CREATE``
![Configure External](https://dev-to-uploads.s3.amazonaws.com/i/1tec1y5t3l55mt1t9v0s.png)


หลังจากนั้นมันก็จะแสดงหน้า **OAuth consent screen** ซึ่งเราจะใส่แค่ชื่อ **App**
![Edit OAuth App](https://dev-to-uploads.s3.amazonaws.com/i/i8qzgwly9dyt3r7dcv0w.png)
หลังจากนั้นก็กด ``Save``
![Save APP](https://dev-to-uploads.s3.amazonaws.com/i/silc30b58a67sy65ye3y.png)


ต่อไปก็เลือกเมนู ``Credentials``
![Credentials Menu](https://dev-to-uploads.s3.amazonaws.com/i/g4wsxrsnoxyvqqyv3gjt.png)


แล้วกด ``+ CREATE CREDENTIALS`` แล้วเลือก OAuth Client ID
![Create CREDENTIALS OAuth](https://dev-to-uploads.s3.amazonaws.com/i/egdnzwgrp68yrp42skj3.png)


แล้วเลือก ``Application type`` เป็น ``Desktop app``
![App type](https://dev-to-uploads.s3.amazonaws.com/i/6iojrut3z56bsd10z3fl.png)
แล้วกด ``CREATE``


หลังจากนั้นเราจะได้ **Client ID** และ **Client Secret** แล้ว 🎉✨
แล้วเราก็เอา **Client ID** ไปใส่ใน Terminal
![Insert CID](https://dev-to-uploads.s3.amazonaws.com/i/tebzxix9kx6uwwl2bu2y.png)


แล้วก็ตามด้วย Client Secret
![Insert CSID](https://dev-to-uploads.s3.amazonaws.com/i/n041rjhvycmkucy5lhe4.png)


แล้วเราก็กำหนดว่าให้ rclone เข้าถึงไดร์ฟได้แบบไหน
![Drive Access](https://dev-to-uploads.s3.amazonaws.com/i/d6zgzxv4hj9rhm9jr5xm.png)


ต่อไปเขาก็จะให้เรากำหนดค่าต่างๆ ซึ่งผมเองก็กำหนดออกมาแล้ว
![Settings Wizard](https://dev-to-uploads.s3.amazonaws.com/i/t9egjwtrnvu6piloz41m.png)


เมื่อเสร็จแล้ว มันก็จะเปิด **Browser** ขึ้นมาแล้วเราก็เลือก **Google Accounts** เลย!! ✨
![Select Google Accounts](https://dev-to-uploads.s3.amazonaws.com/i/7bpvev0eno4qbyj4fx0m.png)


ถ้ามันขึ้นเตือนว่า**อันตราย เราก็กดอนุญาติต่อเลยครับ!**
![Is Danger?](https://dev-to-uploads.s3.amazonaws.com/i/1c3uvjnq9fc0r7rj894f.png)


แล้วก็ทำตาม **Step ไปเรื่อยๆ** เลยย!
![1](https://dev-to-uploads.s3.amazonaws.com/i/0kchinc799umyz9luf0c.png)
![2](https://dev-to-uploads.s3.amazonaws.com/i/frv1cciuz8gjk4w0kgkh.png)


## ในตอนนี้ **remote** ของเราก็พร้อมใช้งานแล้ว
### แสดงโฟล์เดอร์ปกติใน **Remote (Google Drive)**
![List Directory (top-level)](https://dev-to-uploads.s3.amazonaws.com/i/922uosb77xgfdsrkrji8.png)
โดยคำว่า **remote** จะเป็นชื่อ **remote** ที่เรา **set** เอาไว้

ถ้าหากเราต้องการเข้าโฟล์เดอร์อื่น
![List in folder](https://dev-to-uploads.s3.amazonaws.com/i/hgfzhfyw0jmbxpm1npp2.png)

---

ก็จะประมาณนี้นะครับ สำหรับการใช้ **rclone** เพื่อซิงค์กับ **Google Drive** ก็จบไปแล้วนะครับ **เจอกันบทความหน้าครับ  สวัสดีคร้าาาบบบบ!!**