Mengutip dari Situs Resmi Rclone , Rclone merupakan tools open source command-line program yang berfungsi untuk mengelola file untuk layanan Cloud Storage, salah satunya adalah Kilat Storage. Rclone memiliki berbagai macam fitur seperti transfer, copy, sync, move, check, dan mount serta memungkinkan kita untuk menyinkronkan file dan direktori antara berbagai layanan Cloud maupun antara local komputer dengan layanan Cloud.
Kilat Storage sendiri merupakan storage yang menggunakan protokol AWS S3 dimana storage ini mendukung API dari Amazon S3. Dengan layanan storage ini Anda dapat menggunakannya sebagai tempat menyimpan berkas apapun yang bersifat statis pada bucket yang dimiliki.
Pada Knowledge Base kali ini, kami akan menjelaskan bagaimana cara mengelola Kilat Storage Menggunakan Rclone. Silakan simak baik-baik ya!
Persiapan:
- Layanan Kilat Storage yang berstatus Aktif
- Komputer/Laptop dengan Sistem Operasi Windows, Linux, atau Mac OS.
A. Instalasi Rclone #
Rclone dapat diinstallkan di berbagai macam Sistem Operasi. Berikut adalah minimum version Sistem Operasi yang diperlukan untuk menginstall Rclone saat Knowledge Base ini dibuat:
Pada Knowledge Base kali ini, kami menginstal Rclone versi 1.68.1 yang merupakan versi terbaru dari Rclone saat ini.
Silakan untuk mengunduh Rclone versi terbaru pada halaman official berikut ( https://rclone.org/downloads/ ) sesuai dengan Sistem Operasi yang Anda gunakan.
Atau, jika Anda menggunakan Sistem Operasi Linux/macOS/BSD, Anda dapat menjalankan perintah di bawah ini untuk penginstalan Rclone:
sudo -v ; curl https://rclone.org/install.sh | sudo bash
Pada OS Windows, pengaksesan Rclone dapat dilakukan melalui Command Prompt (CMD). Setelah Command Prompt dibuka, arahkan direktori di tempat Rclone berada. Karena, Rclone tidak dapat dijalankan jika lokasi direktori CMD tidak berada di tempat Rclone.
Gambar 2: Direktori File Rclone
B. Konfigurasi Rclone #
Langkah selanjutnya, kita akan menambahkan layanan Kilat Storage (S3) untuk dikelola menggunakan Rclone.
$ rclone config
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
Pada bagian name ini dapat diisikan nama cloud storage yang nantinya kita kelola di Rclone.
name> KilatStorage
Anda dapat mengetik nomor “4” untuk memilh Amazon S3 Compliant Storage Provide.
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / 1Fichier
\ (fichier)
2 / Akamai NetStorage
\ (netstorage)
3 / Alias for an existing remote
\ (alias)
4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, StackPath, Storj, Synology, TencentCOS, Wasabi, Qiniu and others
\ (s3)
5 / Backblaze B2
\ (b2)
6 / Better checksums for other remotes
\ (hasher)
7 / Box
\ (box)
8 / Cache a remote
\ (cache)
9 / Citrix Sharefile
\ (sharefile)
10 / Combine several remotes into one
\ (combine)
11 / Compress a remote
\ (compress)
12 / Dropbox
\ (dropbox)
13 / Encrypt/Decrypt a remote
\ (crypt)
14 / Enterprise File Fabric
\ (filefabric)
15 / FTP
\ (ftp)
16 / Files.com
\ (filescom)
17 / Gofile
\ (gofile)
18 / Google Cloud Storage (this is not Google Drive)
\ (google cloud storage)
19 / Google Drive
\ (drive)
20 / Google Photos
\ (google photos)
21 / HTTP
\ (http)
22 / Hadoop distributed file system
\ (hdfs)
23 / HiDrive
\ (hidrive)
24 / ImageKit.io
\ (imagekit)
25 / In memory object storage system.
\ (memory)
26 / Internet Archive
\ (internetarchive)
27 / Jottacloud
\ (jottacloud)
28 / Koofr, Digi Storage and other Koofr-compatible storage providers
\ (koofr)
29 / Linkbox
\ (linkbox)
30 / Local Disk
\ (local)
31 / Mail.ru Cloud
\ (mailru)
32 / Mega
\ (mega)
33 / Microsoft Azure Blob Storage
\ (azureblob)
34 / Microsoft Azure Files
\ (azurefiles)
35 / Microsoft OneDrive
\ (onedrive)
36 / OpenDrive
\ (opendrive)
37 / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)
\ (swift)
38 / Oracle Cloud Infrastructure Object Storage
\ (oracleobjectstorage)
39 / Pcloud
\ (pcloud)
40 / PikPak
\ (pikpak)
41 / Pixeldrain Filesystem
\ (pixeldrain)
42 / Proton Drive
\ (protondrive)
43 / Put.io
\ (putio)
44 / QingCloud Object Storage
\ (qingstor)
45 / Quatrix by Maytech
\ (quatrix)
46 / SMB / CIFS
\ (smb)
47 / SSH/SFTP
\ (sftp)
48 / Sia Decentralized Cloud
\ (sia)
49 / Storj Decentralized Cloud Storage
\ (storj)
50 / Sugarsync
\ (sugarsync)
51 / Transparently chunk/split large files
\ (chunker)
52 / Uloz.to
\ (ulozto)
53 / Union merges the contents of several upstream fs
\ (union)
54 / Uptobox
\ (uptobox)
55 / WebDAV
\ (webdav)
56 / Yandex Disk
\ (yandex)
57 / Zoho
\ (zoho)
58 / premiumize.me
\ (premiumizeme)
59 / seafile
\ (seafile)
Storage> 4
Di bagian S3 Provider, silakan ketik nomor “32” untuk memilih Any other S3 compatible provider.
** See help for s3 backend at: https://rclone.org/s3/ **
Option provider.
Choose your S3 provider.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
1 / Amazon Web Services (AWS) S3
\ (AWS)
2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
\ (Alibaba)
3 / Arvan Cloud Object Storage (AOS)
\ (ArvanCloud)
4 / Ceph Object Storage
\ (Ceph)
5 / China Mobile Ecloud Elastic Object Storage (EOS)
\ (ChinaMobile)
6 / Cloudflare R2 Storage
\ (Cloudflare)
7 / DigitalOcean Spaces
\ (DigitalOcean)
8 / Dreamhost DreamObjects
\ (Dreamhost)
9 / Google Cloud Storage
\ (GCS)
10 / Huawei Object Storage Service
\ (HuaweiOBS)
11 / IBM COS S3
\ (IBMCOS)
12 / IDrive e2
\ (IDrive)
13 / IONOS Cloud
\ (IONOS)
14 / Seagate Lyve Cloud
\ (LyveCloud)
15 / Leviia Object Storage
\ (Leviia)
16 / Liara Object Storage
\ (Liara)
17 / Linode Object Storage
\ (Linode)
18 / Magalu Object Storage
\ (Magalu)
19 / Minio Object Storage
\ (Minio)
20 / Netease Object Storage (NOS)
\ (Netease)
21 / Petabox Object Storage
\ (Petabox)
22 / RackCorp Object Storage
\ (RackCorp)
23 / Rclone S3 Server
\ (Rclone)
24 / Scaleway Object Storage
\ (Scaleway)
25 / SeaweedFS S3
\ (SeaweedFS)
26 / StackPath Object Storage
\ (StackPath)
27 / Storj (S3 Compatible Gateway)
\ (Storj)
28 / Synology C2 Object Storage
\ (Synology)
29 / Tencent Cloud Object Storage (COS)
\ (TencentCOS)
30 / Wasabi Object Storage
\ (Wasabi)
31 / Qiniu Object Storage (Kodo)
\ (Qiniu)
32 / Any other S3 compatible provider
\ (Other)
provider> 32
Pada bagian ini, kita bisa memilih nomor “1“ agar nantinya pengisian kredensial layanan Kilat Storage (Access Key dan Secret Key) dimasukkan di langkah selanjutnya.
Option env_auth.
Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
Only applies if access_key_id and secret_access_key is blank.
Choose a number from below, or type in your own boolean value (true or false).
Press Enter for the default (false).
1 / Enter AWS credentials in the next step.
\ (false)
2 / Get AWS credentials from the environment (env vars or IAM).
\ (true)
env_auth> 1
Masukkan Access Key dan Secret Key dari Layanan Kilat Storage Anda. Informasi ini dapat Anda temukan di halaman Manage Service Layanan Kilat Storage Anda pada Portal Client CloudKilat.
Baca Juga : Cara Menggunakan Layanan Kilat Storage
Option access_key_id.
AWS Access Key ID.
Leave blank for anonymous access or runtime credentials.
Enter a value. Press Enter to leave empty.
access_key_id> [Access Key]
Option secret_access_key.
AWS Secret Access Key (password).
Leave blank for anonymous access or runtime credentials.
Enter a value. Press Enter to leave empty.
secret_access_key> [Secret Key]
Selanjutnya, ketik “1” untuk pemilihan region dan masukkan Endpoints layanan Kilat Storage, yaitu [ https://s3-id-jkt-1.kilatstorage.id ].
Option region.
Region to connect to.
Leave blank if you are using an S3 clone and you don't have a region.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
1 / Use this if unsure. Will use v4 signatures and an empty region.
\ ""
2 / Use this only if v4 signatures don't work, eg pre Jewel/v10 CEPH.
\ "other-v2-signature"
region> 1
Option endpoint.
Endpoint for S3 API.
Required when using an S3 clone.
Enter a value. Press Enter to leave empty.
endpoint> https://s3-id-jkt-1.kilatstorage.id
Silakan klik “Enter” untuk pengaturan default dan melanjutkan ke konfigurasi berikutnya.
Option location_constraint.
Location constraint - must be set to match the Region.
Leave blank if not sure. Used when creating buckets only.
Enter a value. Press Enter to leave empty.
location_constraint>
Pada bagian di bawah ini merupakan pengaturan konfigurasi Access Control List (ACL) terhadap pengelolaan layanan Kilat Storage Anda di Rclone.
Sebagai contoh, kami memilih nomor “1” agar Owner (Pemilik) dapat memiliki kendali penuh dan tidak ada pihak luar yang memiliki hak akses untuk pengaturan konfigurasi Rclone. Kedepannya, hak akses ini bisa dilakukan perubahan sesuai dengan kebutuhan Anda.
Option acl.
Canned ACL used when creating buckets and storing or copying objects.
This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
Note that this ACL is applied when server-side copying objects as S3 doesn't copy the ACL from the source but rather writes a fresh one.
If the acl is an empty string then no X-Amz-Acl: header is added and the default (private) will be used.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
/ Owner gets FULL_CONTROL.
1 | No one else has access rights (default).
\ (private)
/ Owner gets FULL_CONTROL.
2 | The AllUsers group gets READ access.
\ (public-read)
/ Owner gets FULL_CONTROL.
3 | The AllUsers group gets READ and WRITE access.
| Granting this on a bucket is generally not recommended.
\ (public-read-write)
/ Owner gets FULL_CONTROL.
4 | The AuthenticatedUsers group gets READ access.
\ (authenticated-read)
/ Object owner gets FULL_CONTROL.
5 | Bucket owner gets READ access.
| If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
\ (bucket-owner-read)
/ Both the object owner and the bucket owner get FULL_CONTROL over the object.
6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
\ (bucket-owner-full-control)
acl> 1
Selanjutnya, silakan tekan tombol “Enter” atau mengetik “n” untuk melanjutkan.
Edit advanced config?
y) Yes
n) No (default)
y/n> n
Silakan untuk di-review terlebih dahulu hasil konfigurasi yang telah dilakukan sebelumnya. Jika informasi yang tertera sudah sesuai, Anda dapat mengetik “y” untuk melanjutkan.
Configuration complete.
Options:
- type: s3
- provider: Other
- access_key_id: [Access Key]
- secret_access_key: [Secret Key]
- endpoint: https://s3-id-jkt-1.kilatstorage.id
- acl: private
Keep this "KilatStorage" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
Di bawah ini merupakan hasil jika Layanan Kilat Storage sudah berhasil ditambahkan dan siap untuk dikelola menggunakan Rclone.
Current remotes:
Name Type
==== ====
KilatStorage s3
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>
Untuk mengedit konfigurasi Object Storage yang tersedia, Anda dapat memilih opsi “e” Edit Existing Remote.
C. Perintah Dasar Penggunaan Rclone #
Sebelum menuju ke pembahasan mengenai perintah dasar penggunaan Rclone, ada beberapa flags atau parameter penting yang berguna untuk sebagian perintah:
- -v (–verbose count), parameter ini akan mengeksekusi langsung perintah yang digunakan
- -i (–interactive), parameter ini akan membantu memilah file mana saja yang ingin di eksekusi
- -n (–dry-run), parameter –-dry-run akan memberi tahu Anda mengenai simulasi hasil dari eksekusi sebuah perintah jika dijalankan tanpa mengeksekusi perintahnya
1. Membuat bucket #
Untuk membuat sebuah bucket di Rclone, berikut parameter perintahnya:
$ rclone mkdir [Remote Name]:[New Bucket Name]
Berikut contoh perintahnya:
$ rclone mkdir KilatStorage:testbucketsatu
Untuk memastikan bucket telah berhasil dibuat, Anda dapat menggunakan perintah lsd. Berikut contoh perintahnya:
$ rclone lsd KilatStorage:
Gambar 4: List Directory
2. Membuat file di bucket #
Dalam membuat file di bucket, Anda dapat menggunakan perintah touch. Berikut parameter perintahnya:
$ rclone touch [Remote Name]:[Bucket Name]/[File Name]
Berikut contoh perintahnya:
$ rclone touch KilatStorage:testbucketsatu/testing.txt
Kemudian, Anda dapat menggunakan perintah ls untuk memastikan file telah berhasil dibuat:
$ rclone ls KilatStorage:testbucketsatu
Gambar 5: List File di Bucket
3. Menyalin atau memindahkan file #
Untuk menyalin file, kita bisa menggunakan perintah copy. Berikut parameter perintahnya:
$ rclone copy source:sourcepath dest:destpath [flags]
Pada contoh pengimpelementasian kali ini, seluruh file pada bucket testbucketsatu akan disalin ke bucket testbucketdua. Berikut adalah perintahnya:
$ rclone copy KilatStorage:testbucketsatu KilatStorage:testbucketdua -v
Di bawah ini adalah gambar output dari perintah di atas:
Gambar 6: Output Perintah Copy dengan verbose flags
Sedangkan untuk memindahkan file, kita bisa menggunakan perintah move. Pada contoh pengimplementasian ini, kita akan mencoba memindahkan file gambar di lokal komputer ke bucket testbucketsatu.
Gambar 7: File Gambar di Local Komputer
Sebagai contoh, berikut adalah perintahnya:
$ rclone move Documents/kb-rclone/rclone-logo.png KilatStorage:testbucketsatu -v
Di bawah ini adalah gambar output dari perintah di atas:
Gambar 8: Output Perintah Move dengan verbose flags
4. Sinkronisasi file #
PENTING: Perintah sinkronisasi rclone akan menghapus seluruh isi file dan folder di direktori/bucket tujuan dan menggantinya dengan isi file dan folder dari direktori/bucket sumber. Oleh karena itu, mohon untuk dipastikan terlebih dahulu bahwa direktori/bucket tujuan tidak berisi folder atau file apapun sebelum menjalankan perintah ini.
Pada contoh pengimplementasian kali ini, kita akan mencoba melakukan sinkronisasi file di bucket testbucketsatu ke direktori kb-rclone yang terdapat pada lokal komputer. Berikut adalah isi file dari bucket testbucketsatu saat ini:
Gambar 9: Isi File bucket testbucketsatu
Untuk mengeksekusinya dapat menggunakan perintah berikut:
$ rclone sync KilatStorage:testbucketsatu ~/Documents/kb-rclone -v
Gambar 10: Output Perintah Sync Rclone
Selanjutnya memastikan file bucket testbucketsatu berhasil tersinkronisasi dengan direktori di lokal komputer.
Gambar 11: Cek isi file di direktori kb-rclone
D. Kesimpulan #
Dengan mengikuti Knowledge Base ini, Anda dapat mengetahui cara melakukan instalasi, konfigurasi, dan pengelolaan Layanan Kilat Storage menggunakan Rclone. Semoga artikel ini ini dapat membantu Anda :).
Jika Anda mengalami kendala atau memiliki pertanyaan lebih lanjut terkait pengelolaan layanan Kilat Storage menggunakan Rclone, tim Support CloudKilat selalu siap sedia memberikan pelayanan terbaik 24/7 untuk membantu Anda. Anda dapat menghubungi kami dengan mengirim email ke info@cloudkilat.com atau dengan membuka tiket bantuan melalui Portal Client CloudKilat.