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.
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.
1 2 3 | sudo cp rclone /usr/bin/ sudo chown root:root /usr/bin/rclone sudo chmod 755 /usr/bin/rclone |
Install manual rclone.
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.
1 2 3 4 5 | rclone version rclone v1.48.0 - os/arch: linux/amd64 - go version: go1.12.6 |
Petunjuk pemakaian.
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.
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 |
Beri nama koneksinya.
1 | name> driveku |
Masukkan nomor 12 untuk Google Drive.
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.
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.
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.
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.
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.
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.
1 2 3 4 | Edit advanced config? (y/n) y) Yes n) No y/n> n |
Use auto config?, jawab n.
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.
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 |
Konfigurasikan sebagai team drive?, jawab n.
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.
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.
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.
1 | rclone ls driveku: |
Menampilkan direktori.
1 | rclone lsd driveku: |
Menampilkan file dan direktori.
1 | rclone lsf driveku: |
Membuat direktori.
1 | rclone mkdir driveku:Data |
Copy file.
1 | rclone copy hello.txt driveku:Data |
Menghapus file, tidak menghapus direktori.
1 | rclone delete driveku:Data |
Menghapus direktori yang kosong.
1 | rclone rmdir driveku:Data |
Menghapus file dan direktori.
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.
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.
1 2 3 4 5 6 7 8 9 | ls -l ~/drive drwxrwxr-x 1 ubuntu ubuntu 0 Jul 17 22:25 Data drwxrwxr-x 1 ubuntu ubuntu 0 Jul 17 22:26 Kampus drwxrwxr-x 1 ubuntu ubuntu 0 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.
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.
1 2 3 | kill 2952 [1]+ Done rclone mount driveku: ~/drive |
Selamat mencoba 🙂
Thanks berat, running sukses..
Mungkin kurang tutorial auto mount nya biar aman tiap reboot..