Working with CLI¶
This tutorial contains steps for using s3-compatible CLI with the Object Store. We recommend using MinIO CLI (mc) for best experience.
Download MinIO Client(mc)¶
- Linux (64-bit Intel)
- Linux (64-bit PPC)
- Windows (64-bit)
- MacOS
brew install minio/stable/mc
For other methods, visit MinIO documentation here.
Run the Client¶
Check the client is downloaded correctly by running the following command from the directory where the binary file is saved.
- macOS
mc –help
- Windows
mc.exe –help
GNU/Linux
chmod +x mc
./mc --help
Note
Add mc to environment path You may optionally add mc to your environment path for further convinience. For example:
# GNU/Linux or macOS mv mc /usr/local/bin ./mc –help
Save Storage Credentials¶
Object store supports creation of multiple access credentials (keys) from storage section in my account. After generating or creating an access key, you will be provided with a mc config command:
./mc config host add <key_name> https://objectstore.e2enetworks.net <access_key> <secret_key>
- access_key
You can generate an access key from my account > Storage > Manage Access
- secret_key
Obtain this the same way as access key.
- key_name
This can be any meaningful name. Something easy to remember as you will use this with every mc command.
Tip
Here is an example:
mc config host add wp_creds https://objectstore.e2enetworks.net AAFJRFERF JIJEDF3D88
The above command will save a storage credential with name wp_creds in your system. From here on, you can access bucket contents granted to this access key with the use of string wp_creds.
This way you don’t have to pass credentials (access/secret key) each time you run mc command but instead you refer to wp_creds.
List Objects¶
The following command lists the objects in a storage bucket named wp_bucket. Here the access key wp_creds has been granted permission to wp_bucket from storage browser in my account.
./mc ls wp_creds/wp_bucket/
Under the hood, the mc uses the saved credentials wp_creds to connect to the E2E Object Store.
List Buckets¶
Object store currently does not support listing buckets from CLI. You can view your buckets from storage browser (My account > Storage).
Make Bucket¶
Object store currently does not support listing buckets from CLI. You can create your buckets from storage browser (My account > Storage).
View Object Content¶
Use cat command to view contents of objects in your bucket. You can also use head command to display top few lines of an object.
To view terms.txt from customer_terms directory in wp_bucket:
mc cat wp_creds/wp_bucket/customer_terms/terms.txt
To display first 5 lines from terms.txt:
mc head -n 5 wp_creds/wp_bucket/customer_terms/terms.txt
Pipe Content¶
You can use pipe command to write contents directly to E2E Object store from command line.
To stream MySQL Database dump to Object store directly:
mysqldump -u root -p ***** customerdb | mc pipe wp_creds/wp_bucket/customers/backup.sql
Copy or Upload content¶
You can copy content from local system to object store using cp command. The copy operations to object store are verified with MD5SUM checksums. Interrupted or failed attempts can be resumed from the point of failure.
To copy customer terms.txt to customer_terms path (created if does not exist) in wp_bucket:
mc cp terms.txt wp_creds/wp_bucket/customer_terms/terms.txt
To copy a folder recursively:
mc cp —recursive local_dir wp_creds/wp_bucket/
Remove Content¶
Use rm command to delete file or object.
To remove a terms.txt from wp_bucket/customer_terms:
mc rm wp_creds/wp_bucket/customer_terms/terms.txt
To remove all objects from a bucket:
mc rm —recursive —force wp_creds/wp_bucket
To remove all incomplete uploaded files for an object:
mc rm —incomplete wp_creds/wp_bucket/terms.txt
Update mc client¶
To update your mc client to the latest version
mc update
Note
For source based installations of mc client the mc update command does not support update notifications.
Unsupported Commands¶
Currently we do not support the following commands offered by mc.
mirror
watch
policy
admin
config
Object store is evolving project, so you can expect these in near future. In case any of these commands are limiting your workflow then please write to us.