mc (MinIO Client) est le couteau suisse pour gérer MinIO et tout stockage S3-compatible depuis le terminal. Plus puissant et idiomatique qu’aws-cli pour MinIO. Voici le guide pratique en 2026.
Voir notre guide MinIO complet.
Installation
# macOS
brew install minio-mc
# Linux
wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
chmod +x /usr/local/bin/mc
# Windows
# Télécharger sur min.io/download
# Vérifier
mc --version
Alias (configuration cibles)
# Ajouter un alias
mc alias set prod https://s3.exemple.sn ACCESS_KEY SECRET_KEY
# Lister
mc alias list
# Tester
mc admin info prod
Buckets
mc mb prod/mon-bucket # créer
mc mb prod/mon-bucket --with-lock # avec Object Lock
mc ls prod # lister buckets
mc ls prod/mon-bucket # lister contenu
mc ls --recursive prod/mon-bucket # récursif
mc rb prod/mon-bucket # supprimer (vide)
mc rb --force prod/mon-bucket # supprimer (avec contenu)
Upload et download
mc cp local.zip prod/mon-bucket/ # upload
mc cp prod/mon-bucket/file.zip ./ # download
mc cp -r ./dossier/ prod/mon-bucket/ # récursif
# Mirror (sync continu)
mc mirror ./local-dir prod/mon-bucket/
mc mirror --watch ./local-dir prod/mon-bucket/ # surveille changements
URL signée (pre-signed)
# Générer une URL temporaire pour télécharger un objet privé
mc share download --expire=24h prod/mon-bucket/photo.jpg
# > URL valide 24h
# URL signée pour upload
mc share upload --expire=1h prod/mon-bucket/upload-target.jpg
Versioning
mc version enable prod/mon-bucket
mc version info prod/mon-bucket
mc version suspend prod/mon-bucket
# Lister versions d'un objet
mc ls --versions prod/mon-bucket/file.txt
# Restaurer une version
mc cp --version-id=ABC123 prod/mon-bucket/file.txt prod/mon-bucket/file.txt
Lifecycle (expiration auto)
# Expirer les objets après 30 jours
mc ilm rule add --expire-days 30 prod/temp-bucket
# Expirer les versions non-courantes après 7 jours
mc ilm rule add --noncurrent-expire-days 7 prod/mon-bucket
# Lister règles
mc ilm rule list prod/mon-bucket
Réplication
# Réplication bucket à bucket entre instances MinIO
mc replicate add prod/source \
--remote-bucket "https://ACCESS:SECRET@s3-backup.exemple.sn/dest" \
--priority 1
mc replicate status prod/source
Admin et utilisateurs
mc admin info prod # statut cluster
mc admin user add prod USER PASSWORD # créer user
mc admin policy attach prod readwrite --user USER
# Service accounts
mc admin user svcacct add prod USER --access-key XXX --secret-key YYY
Quotas
mc admin bucket quota set prod/mon-bucket --hard 100GiB
mc admin bucket quota info prod/mon-bucket
Find et grep dans S3
mc find prod/mon-bucket --name "*.log"
mc find prod/mon-bucket --older-than 30d
mc find prod/mon-bucket --larger 100MB
Backup script type
#!/bin/bash
DATE=$(date +%Y%m%d)
mc cp /backups/db-$DATE.dump prod/backups-immutable/postgres/
mc cp /backups/files-$DATE.tar.gz prod/backups-immutable/files/
# Sync optionnel d'un dossier complet
mc mirror --remove /var/backups prod/backups-immutable/server/
# Vérifier
mc ls prod/backups-immutable/postgres/ | tail -5
Adaptation Afrique de l’Ouest
mc fonctionne identiquement avec MinIO local et tout S3 compatible (Backblaze B2, AWS S3, Wasabi, R2 Cloudflare). Apprenez la syntaxe une fois, vous travaillez avec n’importe quel stockage objet en Afrique ou ailleurs.