s3cmd is a command-line tool for S3-compatible storage that works the same way against Object
Storage as it does against Amazon S3. You need a bucket and an access key first; see
Generate an access key.
Install s3cmd
Section titled “Install s3cmd”On Linux, install it from your distribution’s package manager: yum install s3cmd on
CentOS or RHEL, sudo apt-get install s3cmd on Ubuntu or Debian. On macOS, use Homebrew:
brew install s3cmd. On Windows, s3cmd runs on Python, so you install Python first and then s3cmd;
Install s3cmd on Windows walks through both.
Install s3cmd on Windows
Section titled “Install s3cmd on Windows”s3cmd supports Python 3 from its version 2 onward. Python 3.12 is the newest version the s3cmd project lists, so it is a good choice.
-
Download the Python 3.12 installer from python.org/downloads/windows and run it. On the installer’s first page, tick the option to add Python to
PATH, so you can runpythonfrom any Command Prompt. If you missed it, run the installer again, choose Modify, and tick it there. -
Open a new Command Prompt and check that Windows finds Python:
python --versionIt prints the version you installed, such as:
Python 3.12.10 -
Install the one library s3cmd needs to run:
python -m pip install python-dateutil -
Download the s3cmd
.zipfile from its official page and extract it. Rename the folder it creates toC:\s3cmd, so that thes3cmdfile sits directly inside that folder. -
Move into the folder and check that s3cmd starts:
cd C:\s3cmdpython s3cmd --versionIt prints its version, such as
s3cmd version 2.4.0.
On Windows, you start s3cmd through Python from this folder. Every command on this page works
the same way with python put in front of it: python s3cmd --configure,
python s3cmd ls s3://<bucket-name>, and so on.
Configure s3cmd
Section titled “Configure s3cmd”Run the configuration wizard:
s3cmd --configureEnter your access key and secret key when asked. For S3 Endpoint, enter
objectstore.e2enetworks.net for a Delhi bucket, or the Chennai endpoint from
S3 compatibility for one there. For the
DNS-style bucket template, enter %(bucket)s.objectstore.e2enetworks.net in Delhi, or the
same pattern with your region’s endpoint in place of it: %(bucket)s. followed by the Chennai
endpoint for a bucket there. The DNS-style template is how s3cmd builds each bucket’s address
from your endpoint: the %(bucket)s. part is where s3cmd substitutes the bucket name, so every
bucket gets an address like <bucket-name>.objectstore.e2enetworks.net. Leave the region blank,
and accept the rest of the defaults. When
it asks whether to test your credentials, answering y shows a permission error. This is
expected; see S3 compatibility for why.
Answer y again to save the configuration. s3cmd prints where it saved it, for example
Configuration saved to '/home/<user>/.s3cfg'.
You can also skip the wizard and edit ~/.s3cfg directly instead:
host_base = objectstore.e2enetworks.nethost_bucket = %(bucket)s.objectstore.e2enetworks.netaccess_key = <access-key>secret_key = <secret-key>Use in-south1-objectstore.e2enetworks.net in place of objectstore.e2enetworks.net in both
host_base and host_bucket when your bucket is in Chennai.
On Windows, the same settings live in a file named s3cmd.ini in your user’s application data
folder, and the wizard prints its full path when it saves. To open
it in Notepad:
notepad %APPDATA%\s3cmd.iniUse s3cmd with your buckets
Section titled “Use s3cmd with your buckets”List a bucket’s contents (an access key cannot list every bucket on your account, so name one):
s3cmd ls s3://<bucket-name>An empty bucket returns nothing; an object in it lists like this:
2026-01-15 09:32 0 s3://<bucket-name>/<object-name>Upload or sync a file:
s3cmd sync <local-file> s3://<bucket-name>/A successful sync looks like this:
upload: 'report.pdf' -> 's3://<bucket-name>/report.pdf' [1 of 1] 1258291 of 1258291 100% in 0s 3.81 MB/s doneDone. Uploaded 1258291 bytes in 0.3 seconds, 3.81 MB/s.Run s3cmd ls s3://<bucket-name> again, and the file is in the list.
From here on, every s3cmd command reads the keys and endpoint from ~/.s3cfg, or from
s3cmd.ini on Windows. For jobs that
run on a schedule, see
Back up a MySQL database to E2E Object Storage
or Archive logs to E2E Object Storage with logrotate and s3cmd.
If the credential test during setup showed a permission error, see
Troubleshooting E2E Object Storage.