The web console is the right place to configure a bucket; moving data is a job for the command line. The MinIO Client, mc, talks to your Melbicom S3 Object Storage the way ls, cp and rsync work on a local disk, and runs unattended in scripts. This tutorial installs it, registers your service, and runs the commands you will use most.
Prerequisites
- An active Melbicom S3 service with its endpoint, username and password, or an access key pair from Create Melbicom S3 Access Keys with Limited Permissions.
- A terminal on macOS, Linux or Windows.
Step 1: Install mc
Download the binary for your platform and make it executable; the official pages at docs.min.io keep the current links:
curl --progress-bar -L https://dl.min.io/aistor/mc/release/darwin-arm64/mc --create-dirs -o ~/aistor-binaries/mc
chmod +x ~/aistor-binaries/mc
sudo mv ~/aistor-binaries/mc /usr/local/bin/mc
curl --progress-bar -L https://dl.min.io/aistor/mc/release/linux-amd64/mc --create-dirs -o ~/aistor-binaries/mc
chmod +x ~/aistor-binaries/mc
sudo mv ~/aistor-binaries/mc /usr/local/bin/mc
Invoke-WebRequest https://dl.min.io/aistor/mc/release/windows-amd64/mc -OutFile C:\mc.exe
C:\mc.exe --help
On Linux with an ARM processor, replace linux-amd64 with linux-arm64; on an Intel Mac, replace darwin-arm64 with darwin-amd64. Confirm the install:
mc --version
Step 2: Register Your Service as an Alias
An alias stores the endpoint and credentials under a short name, so every later command refers to melbicom/ instead of repeating them. Use the endpoint from your service page on port 9000, and the key pair you want this machine to use:
mc alias set melbicom https://s3-ams.swiftycdn.net:9000 ACCESS_KEY SECRET_KEY
mc ls melbicom
The second command lists your buckets, which proves the endpoint and the credentials. The alias is saved in your home directory; on a shared or automated machine, prefer an access key restricted to what that machine needs over your service password.
Step 3: Move Data
Paths take the form alias/bucket/key. Bucket names carry your account prefix, as they do in the console:
mc mb melbicom/100-00-1000-100-assets
mc cp ./logo.png melbicom/100-00-1000-100-assets/img/logo.png
mc ls melbicom/100-00-1000-100-assets/img/
mc mirror ./dist melbicom/100-00-1000-100-assets/site
mc mirror is the command behind most publishing and backup jobs: it uploads what changed and skips the rest, and --remove also deletes remote objects that disappeared locally. mc cp --recursive copies a whole folder once.
Step 4: Read Bucket Settings from the Terminal
Every bucket setting is readable from the command line as well, which makes it usable in scripts and health checks:
mc version info melbicom/100-00-1000-100-assets
mc ls --versions melbicom/100-00-1000-100-assets/img/
mc retention info melbicom/100-00-1000-100-backups
mc ilm rule add --expire-days 30 --prefix tmp/ melbicom/100-00-1000-100-assets
The last line adds a lifecycle rule that deletes objects under tmp/ after 30 days, the usual companion to Enable Versioning on a Melbicom S3 Bucket when old copies should not accumulate forever.
What You Have
A terminal that works on your storage as it does on a local disk: listing, copying, mirroring and inspecting buckets with one-line commands that fit in cron jobs and deploy scripts. The same alias serves every other article in this series that uses the command line.