Selaraskan berkas di Google Drive dan komputer lokal dengan Rclone di Linux Debian 12

Salah satu kendala yang membuat saya belum bisa menggunakan Linux dengan optimal untuk kegiatan sehari-hari adalah belum ada aplikasi destop Google Drive yang resmi dari Google yang berjalan di Linux. Produk berbayar seperti Insync dapat dengan mudah menyelesaikan masalah itu dan saya agak keberatan untuk membayar 39,99 USD agar dapat menyelaraskan berkas-berkas di Google Drive dan di komputer saya. Kemudian, saya mencari alternatif gratis dan sumber-terbuka yang dapat menyelesaikan masalah saya dan saya menemukan Rclone, sebuah program baris perintah untuk mengelola berkas-berkas di penyimpanan awan.

Saya tidak setiap hari memperbarui berkas ke Google Drive dan menyelesaikan tugas dengan menjalankan satu atau dua baris perintah di terminal bukanlah hal yang merepotkan buat saya. Dari halaman resminya, kita dapat menggunakan Rclone untuk melakukan:

  • Mencadangkan (dan enkripsi) berkas ke penyimpanan awan.
  • Memulihkan (dan dekripsi) berkas dari penyimpanan awan.
  • Mencerminkan berkas-berkas di penyimpanan awan ke penyedia layanan lainnya atau ke komputer lokal.

Saya rasa itu sudah cukup untuk mengatasi permasalahan saya.

Pada tulisan ini, saya akan membagikan pengalaman tentang menggunakan Rclone untuk menyelaraskan berkas-berkas di Google Drive dan di komputer saya yang menggunakan sistem operasi Linux Debian 12.

Memasang dan mengatur Rclone dengan Google Drive

Rclone tersedia di repositori Debian 12 sehingga kita dapat langsung memasangnya dengan menjalankan perintah berikut dari Terminal.

sudo apt install rclone

Setelah selesai memasang, mari kita coba cari tahu versi Rclone yang terpasang dengan perintah rclone --version.

findra@debian:~$ rclone --version
rclone v1.60.1-DEV
- os/version: debian 12.11 (64 bit)
- os/kernel: 6.1.0-37-amd64 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.19.8
- go/linking: dynamic
- go/tags: none

Awalnya saya kurang yakin dengan versi DEV yang ditampilkan apalagi ini di repository Debian yang terkenal stabil. Meskipun begitu, saya tetap lanjutkan untuk mencobanya.

Dengan mengetahui versi dari Rclone yang terpasang, jika terjadi galat para Rclone, kita dapat mencari solusinya dengan mudah, atau mungkin ada fitur yang hanya berjalan di versi tertentu atau sudah tidak digunakan lagi sejak versi tertentu.

Selanjutnya, mari kita mulai mengatur Rclone untuk disambungkan ke Google Drive.

rclone config

Perintah tersebut akan memandu kita dalam mengatur dan menyambungkan Rclone ke Google Drive dengan menampilkan beberapa masukan yang harus kita isi seperti pada bagian berikut. Ketik jawaban sesuai dengan pilihan dan tekan enter untuk melanjutkan.

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

Enter name for new remote.
name> gdrive

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.

# Pilih nomor sesuai yang ditampilkan untuk Google Drive

Storage> 18

Option client_id.
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 value. Press Enter to leave empty.

# Biarkan kosong dan lanjutkan dengan menekan Enter
client_id>

Option client_secret.
OAuth Client Secret.
Leave blank normally.
Enter a value. Press Enter to leave empty.

# Biarkan kosong dan lanjutkan dengan menekan Enter
client_secret>

Option scope.
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
 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)Mari kita lihat
scope> 1

Option service_account_file.
Service Account Credentials JSON file path.
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Leading `~` will be expanded in the file name as will environment variables such as `${RCLONE_CONFIG_DIR}`.
Enter a value. Press Enter to leave empty.

# Biarkan kosong dan lanjutkan dengan menekan Enter
service_account_file>

Edit advanced config?
y) Yes
n) No (default)
y/n> n

Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine

y) Yes (default)
n) No
y/n> y

# Peramban web akan terbuka untuk mengijinkan Rclone menggunakan Google Drive
# Setelah muncul layar sukses, Anda dapat menutup peramban dan melanjutkan pengaturan di terminal
2025/06/17 18:59:00 NOTICE: If your browser does not open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxx
2025/06/17 18:59:00 NOTICE: Log in and authorize rclone for access
2025/06/17 18:59:00 NOTICE: Waiting for code...
2025/06/17 19:00:29 NOTICE: Got code
Configure this as a Shared Drive (Team Drive)?

y) Yes
n) No (default)
y/n> n

Configuration complete.
Options:
- type: drive
- scope: drive
- token: {"access_token":"xxx","token_type":"Bearer","refresh_token":"xxx","expiry":"2025-06-17T20:00:28.639960055+07:00"}
- team_drive:
Keep this "gdrive" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Current remotes:

Name                 Type
====                 ====
gdrive               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

Oke, sekarang Rclone dan Google Drive sudah tersambung dan siap digunakan. Mari kita coba lihat isi dari direktori utama Google Drive dengan perintah berikut.

rclone lsd gdrive:

Perintah tersebut akan menampilkan folder-folder yang berada di Drive Saya seperti pada hasil berikut.

findra@debian:~$ rclone lsd gdrive:
          -1 2025-06-10 15:54:34        -1 Administrasi
          -1 2025-06-10 15:55:33        -1 Arsip
          -1 2025-05-15 08:47:35        -1 Dokumen
          -1 2025-06-10 17:14:04        -1 Proyek

Kita juga dapat melihat kapasitas ruang penyimpanan Google Drive kita dengan perintah berikut.

rclone about gdrive:

Hasil dari baris perintah tersebut adalah seperti berikut.

findra@debian:~$ rclone about gdrive:
Total:   15 GiB
Used:    2.205 GiB
Free:    12.539 GiB
Trashed: 729.944 KiB
Other:   261.724 MiB

Sekarang kita sudah siap untuk menggunakan Rclone. Jika Anda tertarik, silakan pelajari perintah lainnya terkait penggunaan Rclone dengan Google Drive di https://rclone.org/drive/.

Menggunakan Rclone

Rclone memiliki perintah yang lengkap yang dapat kita gunakan untuk mengelola berkas-berkas di Google Drive. Kita akan mencoba untuk menggunakan beberapa perintah dasar penggunaan umum seperti menyalin berkas dari Google Drive ke komputer dan sebaliknya.

Saya akan menggunakan folder untuk Google Drive di komputer dengan nama Drive dan folder tersebut berada di direktori pengguna saya /home/findra/Drive.

Untuk menyalin berkas dari sumber ke tujuan, kita dapat menggunakan perintah copy. Dengan perintah ini, berkas yang identik tidak akan dikirimkan pada sumber dan tujuan. Rclone menilai suatu berkas untuk disalin berdasarkan ukuran dan waktu diubah atau MD5SUM. Perintah ini tidak menghapus berkas-berkas yang ada di tujuan. Jika kita ingin menghapus berkas-berkas yang tidak sama dengan yang berada di sumber, kita dapat menggunakan perintah sync.

Penting ⚠️

Perlu diingat bahwa copy mengirim isi dari direktori yang diberikan, bukan direktori itu sendiri.

Mengunduh berkas ke komputer

Mari kita coba unduh folder Dokumen yang berada di Drive Saya ke dalam folder Drive. Pertama, kita lihat berkas apa saja yang berada di folder Dokumen dengan perintah rclone ls.

findra@debian:~$ rclone ls gdrive:Dokumen
  2194316 Strategi Pecah Telor Kerja Remote Tech di Luar Negeri.pdf
    51176 Liffindra Angga Zaaldian - Resume.pdf
    87687 Sitemate backend challenge.pdf
    74028 Liffindra Angga Zaaldian - Full Stack Web Developer - CV.pdf
    34750 Liffindra Angga Zaaldian - Full Stack Engineer at Sitemate - Cover Letter.pdf

Ada lima berkas PDF dalam folder tersebut dan mari kita coba unduh ke folder Drive.

findra@debian:~$ rclone copy --progress gdrive:Dokumen /home/findra/Drive
Transferred:        2.329 MiB / 2.329 MiB, 100%, 80.626 KiB/s, ETA 0s
Transferred:            5 / 5, 100%
Elapsed time:         5.0s

Mari coba kita lihat isi dari folder Drive dengan perintah ls.

findra@debian:~$ ls -lh /home/findra/Drive
total 2,4M
-rw-r--r-- 1 findra findra  34K Sep 19 2024 'Liffindra Angga Zaaldian - Full Stack Engineer at Sitemate - Cover Letter.pdf'
-rw-r--r-- 1 findra findra  73K Sep 19 2024 'Liffindra Angga Zaaldian - Full Stack Web Developer - CV.pdf'
-rw-r--r-- 1 findra findra  50K Mei  6 10:25 'Liffindra Angga Zaaldian - Resume.pdf'
-rw-r--r-- 1 findra findra  86K Okt 27 2024 'Sitemate backend challenge.pdf'
-rw-r--r-- 1 findra findra 2,1M Jun 17 08:07 'Strategi Pecah Telor Kerja Remote Tech di Luar Negeri.pdf'

Semua berkas yang ada pada folder Dokumen berhasil terunduh ke folder Drive. Ingat! Yang dikirim adalah berkas yang berada pada direktori sehingga berkas-berkas tersebut tidak berada pada direktori /home/findra/Drive/Dokumen.

Mengunggah berkas ke Google Drive

Mari kita coba buat berkas teks sederhana dalam folder Drive kemudian kita unggah ke Google Drive.

# buat berkas teks
touch halo.txt

# tulis teks ke berkas
echo "halo dari komputer Findra" >> halo.txt

# unggah ke Drive Saya di Google Drive
rclone copy --progress /home/findra/Drive/halo.txt gdrive:

Setelah proses selesai, periksa keberadaan berkasnya di dalam folder Drive Saya dengan perintah berikut.

findra@debian:~/Drive$ rclone ls gdrive: --max-depth 1
       26 halo.txt

Info

Argumen --max-depth 1 diberikan agar tidak menampilkan semua berkas yang berada di folder Drive Saya.

Saya coba buka Google Drive di web kemudian membuka berkasnya dan saya melihat teks "halo dari komputer Findra" ketika membuka berkas tersebut.

isi folder drive saya
isi halo.txt

Menyelaraskan berkas

Setelah berkas-berkas kita di Google Drive dan di komputer sudah sama persis, jika kita melakukan beberapa perubahan pada berkas-berkas di komputer, kita dapat memperbarui berkas-berkas yang ada di Google Drive yang baru saja kita ubah secara efisien dengan perintah berikut.

rclone copy --max-age 24h --no-traverse --progress /home/findra/Drive gdrive:

Untuk menghindari menulis perintah yang panjang tersebut setiap kali kita ingin memperbarui berkas-berkas di Google Drive kita dapat membuat alias untuk perintah tersebut.

# buat berkas .bash_aliases di direktori home pengguna
touch ~/.bash_aliases

# tambahkan alias baru
echo "alias ugd='rclone copy --max-age 24h --no-traverse --progress /home/findra/Drive gdrive:'" >> ~/.bash_aliases

Di waktu yang akan datang, kita cukup menjalankan perintah ugd di terminal untuk memperbarui berkas-berkas yang baru saja kita ubah di komputer ke Google Drive. Sangat menghemat waktu 👍

Kesimpulan

Rclone mampu memenuhi kebutuhan saya untuk menyelaraskan berkas-berkas di Google Drive dan komputer saya dengan perintah copy, ls dan about. Jika kita tidak terlalu sering melakukan pembaruan pada berkas-berkas, Rclone merupakan solusi yang cepat, mudah, dan sederhana. Jika ada rezeki, saya berencana mencoba Insync untuk menyelaraskan berkas-berkas di Google Drive dan di komputer.

Daftar Pustaka

Assalaamu 'alaikum

Saya Findra. Blog ini adalah catatan perjalanan saya menjelajahi serunya coding, dunia open source yang luas, dan dinamika pengembangan web. Di sini, Anda akan menemukan tutorial, berita, refleksi pribadi, serta pameran portofolio dan hobi saya.