Cara Akses Google Drive di Linux Server

Google Drive yang merupakan layanan cloud storage dari Google secara resmi hanya menyediakan aplikasi client untuk Windows, macOS, Android, dan iOS. Sementara untuk versi Linux tidak tersedia secara resmi, tapi beberapa developer di luar sana mengembangkan aplikasi client untuk Google Drive salah satunya adalah *rclone*.

*0. Tentang rclone*

rclone merupakan aplikasi berbasis command line yang berfungsi untuk melakukan sinkronisasi file dan direktori dari/ke berbagai layanan cloud storage atau protokol file server/storage.

Layanan cloud storage yang didukung oleh rclone yaitu Amazon Drive, Amazon S3, Box, Ceph, DigitalOcean Spaces, Dropbox, Google Cloud Storage, Google Drive, Nextcloud, ownCloud, FTP, SFTP, dan masih banyak lagi.

*1. Install rclone*

Download dan extract rclone yang sudah dicompile.

[INPUT]

1 2 3 curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-*-linux-amd64

Copy rclone.

[INPUT]

1 2 3 sudo cp rclone /usr/bin/ sudo chown root:root /usr/bin/rclone sudo chmod 755 /usr/bin/rclone  

Install manual rclone.

[INPUT]

1 2 3 sudo mkdir -p /usr/local/share/man/man1 sudo cp rclone.1 /usr/local/share/man/man1/ sudo mandb  

Uji hasil install rclone dengan menampilkan nomor versi.

[INPUT]

1 2 3 4 5 rclone version   rclone v1.48.0 – os/arch: linux/amd64 – go version: go1.12.6

Petunjuk pemakaian.

[INPUT]

1 man rclone

atau bisa juga membaca dokumentasi resmi di website rclone.

*2. Konfigurasi rclone*

Selanjutnya melakukan konfigurasi rclone, menambahkan cloud storage yang ingin dihubungkan ke Linux server.

Jalankan perintah rclone config, jawab n untuk membuat koneksi baru ke cloud storage.

[INPUT]

1 2 3 4 5 6 7 8 rclone config   2019/07/17 13:28:01 NOTICE: Config file “/home/ubuntu/.config/rclone/rclone.conf” not found – using defaults No remotes found – make a new one n) New remote s) Set configuration password q) Quit config n/s/q> n

rclone config

Beri nama koneksinya.

[INPUT]

1 name> driveku

Masukkan nomor 12 untuk Google Drive.

[INPUT]

1 2 3 4 5 6 7 8 9 … 12 / Google Drive    \ “drive” 13 / Hubic    \ “hubic” 14 / JottaCloud    \ “jottacloud” … Storage> 12

Tidak perlu diisi, tekan enter.

[INPUT]

1 2 3 4 5 6 Google Application Client Id Setting your own is recommended. See https://rclone.org/drive/#making-your-own-client-id for how to create your own. If you leave this blank, it will use an internal key which is low performance. Enter a string value. Press Enter for the default (“”). client_id>

Tidak perlu diisi, tekan enter.

[INPUT]

1 2 3 4 Google Application Client Secret Setting your own is recommended. Enter a string value. Press Enter for the default (“”). client_secret>

Masukkan angka 1 agar bisa mengakses Google Drive secara penuh.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Scope that rclone should use when requesting access from drive. Enter a string value. Press Enter for the default (“”). Choose a number from below, or type in your own value 1 / Full access all files, excluding Application Data Folder.    \ “drive” 2 / Read-only access to file metadata and file contents.    \ “drive.readonly”    / Access to files created by rclone only. 3 | These are visible in the drive website.    | File authorization is revoked when the user deauthorizes the app.    \ “drive.file”    / Allows read and write access to the Application Data folder. 4 | This is not visible in the drive website.    \ “drive.appfolder”    / Allows read-only access to file metadata but 5 | does not allow any access to read or download file content.    \ “drive.metadata.readonly” scope> 1

Direktori atau sub-direktori di Google Drive yang ingin dijadikan root folder. Tidak perlu diisi jika ingin menjadikan root folder di Google Drive sebagai root folder, tekan enter.

[INPUT]

1 2 3 4 5 ID of the root folder Leave blank normally. Fill in to access “Computers” folders. (see docs). Enter a string value. Press Enter for the default (“”). root_folder_id>

Tidak perlu diisi, tekan enter.

[INPUT]

1 2 3 4 5 Service Account Credentials JSON file path Leave blank normally. Needed only if you want use SA instead of interactive login. Enter a string value. Press Enter for the default (“”). service_account_file>  

Edit advanced config, jawab n.

[INPUT]

1 2 3 4 Edit advanced config? (y/n) y) Yes n) No y/n> n

Use auto config?, jawab n.

[INPUT]

1 2 3 4 5 6 7 Remote config Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine y) Yes n) No y/n> n  

Browsing link yang tampil, login akun Google Drive, lalu izinkan rclone untuk mengakses akun, dan copy kode yang tampil untuk dipaste di Enter verification code.

[INPUT]

1 2 3 If your browser doesn’t open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=202264815644.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=a173926604e561815a0855074ea6038f Log in and authorize rclone for access Enter verification code> 4/iQGP0AFMXVf3iaaazUsK-hivV-D6PeaSIbuRfRIIdJWiD7RXUQRfdnU  

rclone config – log in dan authorize

rclone meminta akses ke akun Google

Kode akses akun Google untuk rclone

Konfigurasikan sebagai team drive?, jawab n.

[INPUT]

1 2 3 4 Configure this as a team drive? y) Yes n) No y/n> n

Ditampilkan overview dari konfigurasi, kalau sudah yakin benar konfigurasinya jawab y.

[INPUT]

1 2 3 4 5 6 7 8 9 10 ——————– [driveku] type = drive scope = drive token = {“access_token”:”ya29.GltIBxdJ9BWv9wsbbdckTxXZIRZ7I0WuxJTEqpBhvMx1d-gyvN6aSOxQS2xqs3jU21ws_eayXF_DkRvqHXgF-yZOo6k6YgUl_1O8KHOp9_kIDU5Az0tHFUvDTqgG”,”token_type”:”Bearer”,”refresh_token”:”1/ZkUB4McwvVSG9lOv8iWmt7I3yp9EK6TcwWvO8-HHbtg”,”expiry”:”2019-07-17T14:42:40.738880079Z”} ——————– y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y

Ditampilkan koneksi cloud storage yang sudah dibuat. Jawab q untuk keluar dari konfigurasi rclone.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 Current remotes:   Name                 Type ====                 ==== driveku              drive   e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q

*3. Perintah rclone*

Selanjutnya mengakses Google Drive melalui rclone dengan menggunakan perintah-perintah yang tersedia.

Menampilkan file.

[INPUT]

1 rclone ls driveku:

Menampilkan direktori.

[INPUT]

1 rclone lsd driveku:

Menampilkan file dan direktori.

[INPUT]

1 rclone lsf driveku:

Membuat direktori.

[INPUT]

1 rclone mkdir driveku:Data

Copy file.

[INPUT]

1 rclone copy hello.txt driveku:Data

Menghapus file, tidak menghapus direktori.

[INPUT]

1 rclone delete driveku:Data

Menghapus direktori yang kosong.

[INPUT]

1 rclone rmdir driveku:Data

Menghapus file dan direktori.

[INPUT]

1 rclone purge driveku:Data

*4. Mount Google Drive di Linux*

rclone dapat melakukan mount Google Drive di Linux.

Membuat direktori di home Linux, dan mount Google Drive. Perintah rclone mount di bawah ini berjalan dengan ID proses 2952.

[INPUT]

1 2 3 4 mkdir ~/drive rclone mount driveku: ~/drive &   [1] 2952  

Cek isi dari direktori mount ~/drive, apakah isinya sama dengan yang ada di Google Drive.

[INPUT]

1 2 3 4 5 6 7 8 9 ls -l ~/drive   drwxrwxr-x 1 ubuntu ubuntu Jul 17 22:25 Data drwxrwxr-x 1 ubuntu ubuntu Jul 17 22:26 Kampus drwxrwxr-x 1 ubuntu ubuntu Jul 17 22:26 Master   ls -l ~/drive/Data/   -rw-rw-r– 1 ubuntu ubuntu 12 Jul 17 22:11 hello.txt

Menguji membuat file baru di dalam direktori ~/drive/Kampus. Kemudian bandingkan isi direktori mount dengan yang ada di Google Drive.

[INPUT]

1 2 3 4 5 6 7 8 echo “ini tugas kampus” >  ~/drive/Kampus/tugas01.txt ls -l ~/drive/Kampus/   -rw-rw-r– 1 ubuntu ubuntu 17 Jul 17 22:47 tugas01.txt   rclone lsf driveku:Kampus   tugas01.txt  

Menghentikan proses perintah rclone mount yang berada di ID Proses 2952.

[INPUT]

1 2 3 kill 2952   [1]+  Done                    rclone mount driveku: ~/drive  

rclone mount Google Drive

Selamat mencoba 🙂

Leave a Reply

Your email address will not be published.