Manajemen Neo Object Storage dengan Rclone dari Terminal
TutorialDevOpsCloud#devops#cli#rclone#object-storage

Manajemen Neo Object Storage dengan Rclone dari Terminal

A
Abd. Asis
Bagikan:

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:

BashBASH
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:

BashBASH
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:

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

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

CodeCODE
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:

CodeCODE
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:

CodeCODE
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:

CodeCODE
acl> private

Setelah melewati semua prompt, ketik y untuk menyimpan konfigurasi. Verifikasi remote yang baru dibuat:

BashBASH
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:

BashBASH
rclone mkdir neo-storage:project-backups

Tampilkan semua bucket yang ada di account:

BashBASH
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:

BashBASH
rclone copy /home/deploy/exports/laporan-2026.csv neo-storage:project-backups

Untuk menyalin seluruh direktori:

BashBASH
rclone copy /home/deploy/exports/ neo-storage:project-backups/exports

Melihat Isi Bucket

Tampilkan semua file dalam sebuah bucket:

BashBASH
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:

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

BashBASH
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:

BashBASH
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:

BashBASH
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:

BashBASH
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:

BashBASH
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:

BashBASH
#!/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:

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

Referensi

  1. 1 Rclone — Amazon S3 and S3-compatible Storage Providers
  2. 2 Rclone Documentation — Official Reference
  3. 3 Rclone Downloads — Binary dan Installer untuk Semua Platform
Abd. Asis
Ditulis oleh
Abd. Asis

Software Developer dari Madura. Menulis tentang PHP, Laravel, dan pengembangan web modern dalam Bahasa Indonesia.