Integrasi S3 Object Storage dengan Rclone di Linux
Pengantar
Rclone adalah command line tool yang mendukung sinkronisasi data ke berbagai layanan cloud storage, termasuk S3-compatible object storage. Salah satu implementasi populer adalah MinIO, object storage self-hosted yang ringan dan kompatibel dengan API Amazon S3.
Dengan integrasi Rclone dan MinIO, administrator Linux dapat melakukan backup otomatis, sinkronisasi file antar server, hingga manajemen data yang efisien. Solusi ini sangat bermanfaat untuk hosting provider seperti Plasawebhost dalam menjaga keamanan dan ketersediaan data pelanggan.
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- OS : Almalinux 9
-
Server MinIO yang berjalan (endpoint, Access Key, Secret Key, dan bucket name tersedia).
-
Hak akses terminal.
Langkah-Langkah Integrasi Rclone dengan MinIO
- Instalasi Rclone di almalinux 9
Karena Rclone tidak tersedia di repositori default, instalasinya dilakukan dengan download binary:
Cek apakah Rclone sudah terpasang:curl -O https://downloads.rclone.org/rclone-current-linux-amd64.rpm sudo dnf install rclone-current-linux-amd64.rpm -y
rclone version
- Konfigurasi Remote MinIO
Jalankan perintah konfigurasi:
rclone config
Ikuti langkah berikut:
-
Pilih n (New remote).
n) New remote
-
Masukkan nama remote, contoh:
name> myminio
-
Pilih jenis storage s3 (nomor 4).
Storage> 4
- Pilih provider Minio Object Storage (nomor 22).
provider> 22
- Untuk env_auth, pilih false.
env_auth> false
- Masukkan kredensial MinIO Anda (masukkan username dan password minIO anda):
access_key_id> admin secret_access_key> Admin123
- Region → kosongkan (Enter).
region>
- Endpoint → isi alamat MinIO server Anda.
endpoint> http://IP-minIO:9000
- Location constraint → kosongkan (Enter).
location_constraint>
-
Server-side encryption → pilih None (Enter).
server_side_encryption>
-
Edit advanced config? → pilih n.
-
Keep this "myminio" remote? → pilih y.
- Simpan konfigurasi
Contoh isi file konfigurasi berada pada directory berikut ~/.config/rclone/rclone.conf:
[myminio] type = s3 provider = Minio access_key_id = admin secret_access_key = Admin123 endpoint = http://ip-address:9000
-
- Uji Koneksi
- Lihat daftar bucket di MinIO:
rclone ls myminio:
- Lihat isi bucket tertentu, misalnya backup-website:
Ganti backup-website dengan nama bucket storage pada minio andarclone ls myminio:backup-website
- Lihat daftar bucket di MinIO:
- Upload & Download File
- Upload file ke MinIO bucket
rclone copy /etc/hosts myminio:backup-website
- Download file dari MinIO bucket ke lokal
rclone copy myminio:backup-website/hosts /root/restore/
- Sinkronisasi folder web server ke MinIO
rclone sync /var/www/html myminio:backup-website
- Upload file ke MinIO bucket
- Backup Otomatis dengan Cron
Tambahkan cron job untuk backup rutin, misalnya setiap pukul 02:00 dini hari:
Isi dengan:crontab -e
0 2 * * * rclone sync /var/www/html myminio:backup-website --log-file=/var/log/rclone-backup.log
Sesuaikan,var/www/html dengan folder yang ingin kita backup kedalam minIO