Cheatsheet Rclone CLI

Rclone adalah perangkat lunak open-source berbasis CLI (Command Line Interface) yang dirancang untuk mengelola, menyinkronkan, dan memindahkan file dari penyimpanan lokal ke lebih dari 90 layanan cloud storage, seperti Google Drive, Dropbox, Amazon S3, Microsoft Azure, OneDrive, dan lainnya.
Fitur utama Rclone meliputi:
-
Sinkronisasi dan Transfer: Menyinkronkan direktori lokal dengan cloud atau antar layanan cloud secara efisien, serta hanya mentransfer file yang berubah.
-
Dukungan Multi-Platform: Dapat berjalan di Linux, Windows, macOS, FreeBSD, dan sistem operasi lainnya.
-
Keamanan: Mendukung enkripsi opsional untuk file dan metadata, serta verifikasi integritas file menggunakan checksum seperti MD5 dan SHA1.
-
Mounting: Memungkinkan pengguna memasang (mount) penyimpanan cloud sebagai disk lokal melalui FUSE.
-
Transfer Paralel: Menggunakan multi-threading untuk mempercepat proses transfer data.
Core Commands
-
rclone copy src dst: Menyalin file dari sumber (source) ke tujuan (destination). -
rclone sync src dst: Melakukan sinkronisasi sehingga tujuan menjadi identik dengan sumber, termasuk menghapus file tambahan di tujuan yang tidak ada di sumber. -
rclone move src dst: Memindahkan file dari sumber ke tujuan. -
rclone delete remote:path: Menghapus file pada jalur (path) yang ditentukan. -
rclone purge remote:path: Menghapus seluruh direktori beserta isinya secara permanen. -
rclone mkdir remote:path: Membuat direktori baru. -
rclone rmdir remote:path: Menghapus direktori yang kosong. -
rclone check src dst: Memeriksa apakah file di sumber dan tujuan cocok. -
rclone ls remote:path: Menampilkan daftar file beserta ukurannya. -
rclone lsd remote:path: Menampilkan daftar direktori saja. -
rclone lsf remote:path: Menampilkan daftar file dan direktori dalam format yang mudah diproses (parseable). -
rclone size remote:path: Menampilkan total ukuran dan jumlah file. -
rclone tree remote:path: Menampilkan struktur direktori dalam bentuk pohon (tree). -
rclone cat remote:file: Menampilkan isi file ke layar. -
rclone md5sum remote:path: Menampilkan checksum MD5 dari file.
Essential Flags
-P/--progress→ Menampilkan progres transfer secara real-time-v/--verbose→ Menampilkan detail proses--exclude "PATTERN"→ Mengecualikan file sesuai pola--include "PATTERN"→ Memilih file sesuai pola--max-age 7d→ Hanya memproses file yang berumur maksimal 7 hari--min-size 1M→ Hanya memproses file berukuran minimal 1 MB
Selalu gunakan --dry-run terlebih dahulu untuk melihat perubahan yang akan terjadi, terutama pada perintah sync yang dapat menghapus file.
Configuration
-
rclone config: Memulai konfigurasi interaktif (menambah, mengubah, atau menghapus remote). -
rclone config file: Menampilkan lokasi file konfigurasi yang sedang digunakan. -
rclone config show: Menampilkan isi file konfigurasi.
Performance Tuning
-
--transfers N: Mengatur jumlah transfer file secara paralel atau bersamaan. Default:4 -
--checkers N: Menentukan jumlah proses pemeriksaan file secara paralel untuk mengecek perbedaan antara sumber dan tujuan. Default:8 -
--buffer-size SIZE: Mengatur ukuran buffer memori yang dialokasikan untuk setiap proses transfer file. Default:16Mi -
--fast-list: Meningkatkan kecepatan pada direktori besar dengan mengurangi jumlah panggilan API yang diperlukan. -
--multi-thread-streams N: Menentukan jumlah aliran paralel untuk satu file yang sama guna mempercepat proses transfer. Default:4 -
--drive-chunk-size SIZE: Mengatur ukuran chunk khusus untuk proses unggah ke Google Drive. Default:8Mi
Filtering Files
-
--include "PATTERN": Hanya menyertakan file yang cocok dengan pola tertentu dalam operasi rclone. -
--exclude "PATTERN": Mengecualikan file yang cocok dengan pola tertentu agar tidak ikut diproses. -
--filter "+ PATTERN": Aturan filter untuk menyertakan file secara spesifik. -
--filter "- PATTERN": Aturan filter untuk mengecualikan file dari operasi. -
--filter-from FILE: Memuat daftar aturan filter dari file eksternal. -
--max-size SIZE: Melewati file yang ukurannya lebih besar dari batas yang ditentukan. -
--min-size SIZE: Melewati file yang ukurannya lebih kecil dari batas yang ditentukan. -
--max-age DURATION: Melewati file yang usianya lebih tua dari durasi yang ditentukan. -
--min-age DURATION: Melewati file yang usianya lebih baru (lebih muda) dari durasi yang ditentukan.
Pattern Examples:
*.jpg # Semua file jpg **/*.jpg # Semua file jpg di seluruh subdirektori /dir/** # Semua isi dalam /dir {*.mp4,*.mkv} # File mp4 atau mkv
Filter Examples:
# Hanya sinkronisasi gambar rclone sync src dst --include "*.{jpg,png,gif}" --exclude "*" # Kecualikan node_modules dan .git rclone copy src dst --exclude "node_modules/**" --exclude ".git/**" # Hanya file yang memiliki ekstensi .pdf rclone copy src dst --filter "+ *.pdf" # Kecualikan semua file log (ekstensi .log) rclone copy src dst --filter "- *.log" # Menyalin file menggunakan filter dari file aturan.txt rclone copy src dst --filter-from aturan.txt # Hanya file yang dimodifikasi dalam 7 hari terakhir rclone copy src dst --max-age 7d # File antara 1 MB hingga 1 GB rclone copy src dst --min-size 1M --max-size 1G
Mount
Mounting
-
rclone mount remote:path /mnt/cloud --daemon: Digunakan untuk menghubungkan (mount) cloud storage seolah-olah menjadi sistem file lokal di komputer Anda.Opsi
--daemonmemastikan proses berjalan di latar belakang. -
Peningkatan Performa (Caching) Menggunakan:
--vfs-cache-mode full
dengan batas ukuran tertentu, misalnya:
--vfs-cache-max-size 10G
memungkinkan rclone menyimpan data sementara di penyimpanan lokal sehingga akses file menjadi lebih cepat, terutama untuk file besar atau akses berulang.
rclone mount remote:path /mnt/cloud \ --daemon \ --vfs-cache-mode full \ --vfs-cache-max-size 10G
Unmounting
Setelah selesai menggunakan penyimpanan yang dipasang, lepaskan dengan perintah sistem berikut:
- Linux
fusermount -u /mnt/cloud
- macOS
umount /mnt/cloud
Serve
Perintah rclone serve memungkinkan Anda membagikan akses ke penyimpanan remote melalui berbagai protokol jaringan.
HTTP
Menyajikan file sebagai server file atau situs web statis.
rclone serve http remote:path --addr :8080
WebDAV
Menggunakan protokol WebDAV, umum dipakai untuk sinkronisasi dan berbagi file antar aplikasi.
rclone serve webdav remote:path --addr :8080
SFTP
Menyajikan file secara aman melalui protokol SSH File Transfer Protocol (SFTP).
rclone serve sftp remote:path --addr :2022
Sync Patterns
Pencadangan dari Lokal ke Cloud
Digunakan untuk membuat folder tujuan di cloud menjadi identik dengan sumber lokal, termasuk menghapus file di cloud yang sudah tidak ada di lokal.
rclone sync /home/user/documents remote:backup/documents
Pemulihan dari Cloud ke Lokal
Digunakan untuk mengembalikan (restore) data dari backup di cloud ke sistem file lokal.
rclone sync remote:backup/documents /home/user/documents
Migrasi Antar Cloud
Memungkinkan perpindahan data langsung antar dua penyedia cloud yang berbeda, misalnya dari Google Drive ke Dropbox.
rclone sync gdrive:data dropbox:data
Sinkronisasi Dua Arah (Two-way Sync)
Memungkinkan perubahan dari satu sisi tercermin ke sisi lainnya secara timbal balik menggunakan rclone bisync.
Sinkronisasi Awal
Gunakan --resync untuk penyelarasan pertama agar kedua lokasi memiliki basis data yang sama.
rclone bisync /local remote:path --resync
Sinkronisasi Rutin
Setelah sinkronisasi awal selesai, jalankan tanpa flag tambahan.
rclone bisync /local remote:path
Safety Flags
-
--dry-run: Menampilkan pratinjau perubahan tanpa benar-benar memodifikasi data. -
--max-delete N: Membatalkan operasi secara otomatis jika jumlah file yang akan dihapus melebihiN. -
--backup-dir DST: Memindahkan file yang dihapus atau diganti ke direktori cadangan, bukan menghapus permanen. -
--suffix SUFFIX: Menambahkan akhiran khusus pada file cadangan. -
--immutable: Mencegah modifikasi file yang sudah ada. Hanya file baru yang diproses.
Contoh Safe Sync dengan Backup:
rclone sync src dst \ --backup-dir remote:old-versions/$(date +%Y%m%d) \ --max-delete 100
Bandwidth Control
-
--bwlimit RATE: Membatasi bandwidth transfer secara keseluruhan dengan kecepatan 10 MB/detik.--bwlimit 10M -
--bwlimit "08:00,512k 18:00,10M 23:00,off": Mengatur bandwidth berdasarkan waktu.--bwlimit "08:00,512k 18:00,10M 23:00,off" -
--tpslimit N: Membatasi jumlah transaksi/API request per detik.--tpslimit 10
Useful Combos
Pencadangan dengan Progres dan Log
rclone sync /data remote:backup \ -P \ --log-file backup-$(date +%Y%m%d).log \ --log-level INFO
Menjalankan sinkronisasi sambil menampilkan progres serta menyimpan log ke file harian.
Mirror dengan Verifikasi
rclone sync src dst --checksum && rclone check src dst
Melakukan sinkronisasi menggunakan checksum, lalu memverifikasi hasil transfer.
Mencari File Berukuran Besar
rclone ls remote: --min-size 100M
Menampilkan file berukuran minimal 100 MB.
Menghitung Jumlah dan Total Ukuran File
rclone size remote:path
Menampilkan jumlah file dan total ukuran data.
Menghapus Cadangan Lama dengan Simulasi
rclone delete remote:backup --min-age 30d --dry-run
Mensimulasikan penghapusan file yang lebih tua dari 30 hari.
Menghapus File Duplikat
rclone dedupe remote:path --dedupe-mode newest
Menghapus file duplikat dan mempertahankan versi terbaru.
Membandingkan Dua Lokasi
rclone check local:path remote:path --combined report.txt
Membandingkan isi dua lokasi dan menyimpan laporan ke file report.txt.
Membuat Direktori di Remote
rclone mkdir remote:path
Membuat direktori baru di penyimpanan remote.
High-Performance Transfer
rclone copy src dst --transfers 16 --checkers 32 --fast-list -P
Transfer berkecepatan tinggi dengan paralelisme lebih besar.
Menyalin File Sesuai Pola Tertentu
rclone copy /data remote:path --include "mariadb*"
Hanya menyalin file yang namanya diawali mariadb.
Melihat ID Folder di Remote
rclone lsd remote: -vv
Menampilkan daftar direktori dengan detail tambahan (verbose), termasuk ID pada beberapa backend.
Mendapatkan Daftar Folder Format JSON
rclone lsjson remote: --dirs-only | jq '.[] | {name: .Name, id: .ID}'
Mengambil daftar folder beserta nama dan ID folder.
Melihat Shared Folder di Google Drive
rclone lsjson remote: --drive-shared-with-me --dirs-only
Menampilkan folder Google Drive yang dibagikan kepada Anda.
Membuat File Kosong Baru
rclone touch remote:Dokumen/baru.txt
Membuat file kosong pada path yang ditentukan.
Mengubah Nama File Secara Massal
rclone convmv remote:path \ --name-transform "all,trimprefix=Copy of "
Menghapus prefix Copy of dari nama file secara massal.
Simulasi Hapus File dengan Pengecualian Pola
rclone delete remote:path \ --exclude "*Copy of*" \ --dry-run
Mensimulasikan penghapusan file sambil mengecualikan file yang mengandung teks Copy of.


