S3cmd is een command-line tool waarmee je je objecten en containers beheert in je S3-compatibele OpenStack Swift Object Store. Het stelt je in staat om taken uit te voeren, zoals bestanden te uploaden, downloaden, synchroniseren, verwijderen en de toegangsrechten te configureren, allemaal via command-line. In deze handleiding installeer en configureer je S3cmd.
Installatie op Ubuntu
Stap 1
Verbind met je Linux-server via SSH.
Stap 2
Update de package manager, installeer s3cmd, en test de werking:
sudo apt -y update
sudo apt -y install s3cmd
s3cmd --versionGa hierna direct verder met de configuratie van s3cmd.
Installatie in Windows
Stap 1
Start de command prompt CMD (klik op de Window Start-knop, zoek naar 'CMD' en klik op het resultaat).

Stap 2
Update de Python package installer PIP en installeer s3cmd:
py -m pip install --upgrade pip
py -m pip install --user s3cmd
Stap 3
S3cmd kan in Windows alleen via Python worden aangeroepen; een rechtstreekse toevoeging van de directory aan Path maakt het helaas niet uitvoerbaar in CMD, maar er is een workaround:
Gebruik in CMD het volgende commando:
where s3cmdJe krijgt nu een locatie te zien in de output, bijvoorbeeld C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Scripts\s3cmd. Kopieer deze locatie.
Stap 4
Maak een .cmd-bestand aan in een directory zoals c:\tools\s3cmd.cmd en geef het bestand de volgende inhoud:
@echo off
py "C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Scripts\s3cmd" %*Vervang hier C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Scripts\s3cmd door de output van het commando uit stap 3 (\s3cmd aan het eind moet daar in staan).
Stap 5
Druk tegelijkertijd op je toetsenbord op het Windows Start-icoon + R. Het uitvoeren/run-scherm verschijnt. Type hier het commando 'sysdm.cpl' en druk op 'OK' of de enter-toets.

Stap 6
Klik op het tabblad 'Advanced' > 'Environment Variables'.

Stap 7
Je ziet een kopje 'User variables for ...' en 'System variables'. Scroll onder 'User variables' of ‘System variables’ (voor alle gebruikers op je computer/server) naar 'Path' en klik op 'Edit'.

Stap 8
Klik op 'New' en geef de directory op die je in stap 1 hebt aangemaakt (hoofdlettergevoelig). Klik tot slot drie maal op 'OK' om alle geopende vensters te sluiten.

That's it! Herstart CMD en test de werking met het commando:
s3cmd --versionGa hierna direct verder met de configuratie van s3cmd.
S3cmd configureren voor Object Store
Voor deze configuratie heb je de ‘Access Key’, ‘Secret Key’ en ‘Project ID’ nodig. Heb je nog geen S3-token aangemaakt (default optie bij het bestelproces), of wil je je S3-token gegevens achterhalen? Neem dan een kijkje in ons artikel S3-tokens beheren.
Stap 1
Start de configuratie van je Object Store met het commando:
s3cmd --configure
Stap 2
Je krijgt een aantal prompts te zien. Beantwoord de prompts zoals in het voorbeeld hieronder en vul daarbij de gegevens van je S3-Token in. De S3 Endpoint ziet er bijvoorbeeld uit als 540436a14e67c7d45a6.objectstore.eu/
Het encryption wachtwoord en GPG wachtwoord zijn optioneel, maar wel aan te raden: hiermee versleutel je bestanden terwijl zij verzonden worden van/naar je Object Store. In het geval van Windows kun je hier bijvoorbeeld Gpg4win voor gebruiken (let wel dat je dan het volledige pad naar de .exe opgeeft).
Access Key: JOUW_ACCESS_KEY
Secret Key: JOUW_SECRET_KEY
Default Region: EU
Use "s3.amazonaws.com" for S3 Endpoint and not modify it to the target Amazon S3.
S3 Endpoint: JOUW_PROJECT_ID.objectstore.eu
Use "%(bucket)s.s3.amazonaws.com" to the target Amazon S3. "%(bucket)s" and "%(location)s" vars can be used
if the target S3 system supports dns based buckets.
DNS-style bucket+hostname:port template: YOUR_PROJECT_ID.objectstore.eu/%(location)s
Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password: OPTIONEEL_WACHTWOORD
Path to GPG program: OPTIONEEL_GPG_PATH
When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP, and can only be proxied with Python 2.7 or newer
Use HTTPS protocol: True
On some networks all internet access must go through a HTTP proxy.
Try setting it here if you can't connect to S3 directly
HTTP Proxy server name:
Test access with supplied credentials? [Y/n] Y
Save settings? [y/N] YNa een succesvolle configuratie krijg je de opslaglocatie van je configuratie te zien, bijvoorbeeld:
Configuration saved to 'C:\Users\Administrator\AppData\Roaming\s3cmd.ini'
Basiscommando’s
Hieronder vind je overzicht van de meest voorkomende beheercommando's. Vervang in de onderstaande commando's container-name door de naam van jouw container.
Containers (buckets) aanmaken:
s3cmd mb s3://<container-naam>
Containers (buckets) weergeven:
s3cmd ls
Objecten in een container tonen:
s3cmd ls s3://container-naam/
Een bestand uploaden:
s3cmd put local-file.txt s3://container-naam/
Een bestand downloaden:
s3cmd get s3://container-naam/remote-file.txt local-file.txt
Een bestand verwijderen:
s3cmd del s3://container-naam/file-to-delete.txt
Hulp nodig?
Bekijk alle opties van s3cmd met s3cmd --help. Ook kan je een kijkje nemen in de FAQ van de makers van s3cmd. Indien je meer wilt weten over onze OpenStack-diensten of Object Store in het algemeen, begin dan bij de productpagina’s van Public Cloud en OpenStack.