Kamu menyimpan backup database di object storage, lalu tim minta file-file itu dipindah ke bucket baru setiap malam secara otomatis. Opsinya: tulis script curl yang panjang dan rawan salah, atau gunakan rclone — satu tool yang menghandle semua operasi itu dengan syntax yang bersih dan konsisten.
Rclone adalah CLI open source untuk mengelola cloud storage. Ia mendukung lebih dari 70 provider berbeda — termasuk provider S3-compatible seperti Neo Object Storage dari Biznet Gio. Satu konfigurasi, puluhan command yang bisa dikombinasikan untuk otomasi transfer, sync, dan monitoring storage.
Artikel ini membahas cara mengkonfigurasi rclone untuk Neo Object Storage dan menguasai command-command yang paling sering dipakai dalam pekerjaan sehari-hari.
Apa Itu Rclone dan Kenapa Ia Berguna
Rclone bekerja dengan konsep remote — setiap koneksi ke cloud provider disimpan sebagai named profile di file konfigurasi lokal. Setelah remote dikonfigurasi, kamu bisa menjalankan operasi seperti rclone sync, rclone copy, atau rclone ls persis seperti saat bekerja dengan file lokal.
Yang membuat rclone unggul dibanding opsi lain adalah konsistensinya. Command yang sama bekerja untuk AWS S3, Google Cloud Storage, Backblaze B2, dan semua provider S3-compatible lainnya. Kamu tidak perlu mempelajari CLI baru setiap kali ganti provider.
Instalasi Rclone
Rclone tersedia untuk Linux, macOS, dan Windows. Cara tercepat menginstalnya di Linux dan macOS adalah lewat script resmi:
curl https://rclone.org/install.sh | sudo bash
Di Windows, unduh installer atau file binary dari halaman download resmi rclone, ekstrak ke direktori pilihan kamu, lalu akses via Command Prompt atau PowerShell.
Verifikasi instalasi:
rclone version
Output akan menampilkan versi rclone yang terinstal beserta informasi OS dan Go runtime.
Konfigurasi Koneksi ke Neo Object Storage
Neo Object Storage menggunakan protokol S3-compatible, jadi kita pilih provider S3 saat konfigurasi. Sebelum mulai, siapkan credential dari panel Neo:
- Access Key dan Secret Key dari portal Neo Object Storage
- REST Endpoint:
nos.wjv-1.neo.id
Jalankan wizard konfigurasi:
rclone config
Ikuti langkah-langkah berikut di prompt interaktif:
Membuat Remote Baru
Rclone akan menampilkan menu pilihan. Ketik n untuk membuat remote baru, kemudian beri nama yang mudah diingat — kita gunakan neo-storage sebagai contoh.
No remotes found, make a new one?
n) New remote
...
n/s/q> n
name> neo-storage
Memilih Provider S3
Dari daftar storage type, pilih nomor yang sesuai dengan Amazon S3 Compliant Storage Providers and Compatible. Nomor ini bisa berubah antar versi rclone, jadi perhatikan deskripsinya, bukan hanya nomornya.
Storage> [nomor untuk Amazon S3]
Selanjutnya pilih provider any other S3 compatible dari sub-menu provider.
Memasukkan Credential
Saat ditanya apakah ingin memasukkan credential secara manual, pilih false (atau n) untuk opsi env auth, lalu masukkan Access Key dan Secret Key:
env_auth> false
access_key_id> YOUR_ACCESS_KEY
secret_access_key> YOUR_SECRET_KEY
Konfigurasi Endpoint dan Region
Endpoint adalah bagian paling kritis untuk provider S3-compatible yang bukan AWS:
endpoint> nos.wjv-1.neo.id
region>
Biarkan region kosong — Neo Object Storage tidak memerlukan region secara eksplisit. Rclone akan menggunakan default.
Untuk ACL, pilih private agar bucket dan object tidak dapat diakses publik secara default:
acl> private
Setelah melewati semua prompt, ketik y untuk menyimpan konfigurasi. Verifikasi remote yang baru dibuat:
rclone listremotes
Output akan menampilkan neo-storage: sebagai salah satu remote yang tersedia.
File konfigurasi rclone disimpan di ~/.config/rclone/rclone.conf di Linux/macOS. Kamu bisa mengeditnya langsung jika perlu mengubah credential tanpa harus menjalankan wizard lagi.
Operasi Dasar: Bucket dan File
Setelah koneksi terkonfigurasi, semua operasi menggunakan format rclone <command> neo-storage:<bucket-name>.
Membuat dan Melihat Daftar Bucket
Buat bucket baru menggunakan mkdir:
rclone mkdir neo-storage:project-backups
Tampilkan semua bucket yang ada di account:
rclone lsd neo-storage:
Flag lsd (list directories) menampilkan daftar bucket beserta tanggal modifikasi. Berbeda dengan ls yang menampilkan isi file secara rekursif.
Menyalin File ke Bucket
copy memindahkan file dari sumber ke tujuan tanpa menghapus file yang sudah ada di tujuan:
rclone copy /home/deploy/exports/laporan-2026.csv neo-storage:project-backups
Untuk menyalin seluruh direktori:
rclone copy /home/deploy/exports/ neo-storage:project-backups/exports
Melihat Isi Bucket
Tampilkan semua file dalam sebuah bucket:
rclone ls neo-storage:project-backups
Output menampilkan ukuran file dalam bytes dan path relatif. Untuk tampilan yang lebih manusiawi dengan unit seperti KB/MB, gunakan lsl:
rclone lsl neo-storage:project-backups
Sync: Sinkronisasi Direktori Lokal ke Bucket
sync adalah command yang paling sering dipakai untuk backup otomatis. Ia membuat tujuan identik dengan sumber — file yang tidak ada di sumber akan dihapus dari tujuan.
rclone sync /var/www/uploads neo-storage:project-backups/uploads
rclone sync menghapus file di tujuan yang tidak ada di sumber. Pastikan arahnya benar sebelum menjalankan di production. Gunakan flag --dry-run terlebih dahulu untuk simulasi tanpa perubahan nyata.
Simulasi tanpa eksekusi nyata:
rclone sync /var/www/uploads neo-storage:project-backups/uploads --dry-run
Output akan menampilkan file apa saja yang akan disalin atau dihapus, tanpa benar-benar melakukannya.
Menambahkan Progress dan Verbose Output
Untuk operasi besar, tambahkan flag --progress agar bisa memantau transfer secara real-time:
rclone sync /var/www/uploads neo-storage:project-backups/uploads --progress
Mempercepat Transfer dengan Paralelisme
Secara default, rclone mentransfer 4 file sekaligus. Untuk koneksi yang bagus atau file berukuran kecil yang banyak, naikkan nilai ini:
rclone copy /home/deploy/assets neo-storage:project-backups/assets --transfers 16 --checkers 8
--transfers— jumlah file yang ditransfer paralel--checkers— jumlah thread untuk memeriksa apakah file perlu ditransfer
Untuk direktori dengan ribuan file kecil, tambahkan --fast-list agar rclone mengurangi jumlah API call dengan membatch operasi listing:
rclone sync /home/deploy/assets neo-storage:project-backups/assets --fast-list
--fast-list menggunakan lebih banyak memori tapi mengurangi jumlah request ke API. Cocok digunakan saat berhadapan dengan bucket yang berisi puluhan ribu objek.
Otomasi Backup dengan Cron
Kombinasi rclone dan cron menjadi setup backup yang solid. Buat script sederhana:
#!/bin/bash
# /home/deploy/scripts/backup-uploads.sh
TIMESTAMP=$(date +%Y-%m-%d)
LOG_FILE="/var/log/rclone-backup-${TIMESTAMP}.log"
rclone sync /var/www/uploads neo-storage:project-backups/uploads \
--fast-list \
--transfers 8 \
--log-file="${LOG_FILE}" \
--log-level INFO
Jadwalkan via cron untuk jalan setiap malam pukul 02.00:
0 2 * * * /home/deploy/scripts/backup-uploads.sh
Flag --log-file menyimpan log ke file untuk audit, dan --log-level INFO mencatat semua operasi transfer yang terjadi.
Kesimpulan
Rclone mengubah manajemen object storage dari pekerjaan yang membutuhkan script khusus menjadi serangkaian command yang bisa dikombinasikan bebas. Setelah satu remote dikonfigurasi, kamu punya akses penuh ke semua operasi — dari listing sederhana hingga sinkronisasi terjadwal dengan paralelisme yang bisa disetel. Untuk eksplorasi lebih lanjut, dokumentasi rclone menyediakan referensi lengkap untuk setiap flag dan command di rclone.org/docs.