Skip to main content
  1. Posts/

Cheatsheet Rclone CLI

·7 mins·
Table of Contents

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 --daemon memastikan 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 melebihi N.

  • --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.

Related