Met de tool s3cmd kun je op een gemakkelijke wijze buckets en objecten in onze Objects diensten beheren. De tool is kosteloos beschikbaar via http://s3tools.org, en draait probleemloos op alle Linux distributies en Mac OS X.

We geven hieronder een beknopte uitleg van de meest gebruikte commando's van s3cmd, voor een uitgebreide handleiding kun je op hier terecht (Engels). Verder is er via zoekmachines erg veel aanvullende informatie te vinden over deze tool.

Installatie


De installatiehandleiding van s3cmd is aanwezig in het pakket wat je kunt downloaden van http://s3tools.org. We gaan er in de volgende stappen vanuit dat je s3cmd hebt geïnstalleerd, of je gebruik gaat maken van de aanwezige versie op onze SSH servers.

Initiële configuratie


Als je de eerste keer het commando s3cmd uitvoert op de command line, dan krijgt je waarschijnlijk de volgende melding:

[xxx@host:~]$ s3cmd ERROR: /home/xxx/.s3cfg: None ERROR: Configuration file not available. ERROR: Consider using --configure parameter to create one.

Dit betekend dat er nog geen configuratie file bestaat. Deze maak je aan met het volgende commando:
s3cmd --configure`

Er worden een aantal vragen gesteld, beantwoord ze zoals hieronder.
Een aantal zaken hoeft niet te worden ingesteld, hier kunt u direct [ENTER] drukken.
[hetvoorbeelddom@web012 ~]$ s3cmd --configure

Access Key: P170M************F5D [BIJ ONZE OBJECT-STORAGE HEET DIT DE 'API key']

Secret Key: pZs6************1EmFOI************SW3D

Default Region [US]: [LEEG LATEN]

S3 Endpoint [s3.amazonaws.com]: o.auroraobjects.eu

DNS-style bucket+hostname:port template for accessing a bucket [%(bucket)s.s3.amazonaws.com]: %(bucket)s.o.auroraobjects.eu

Encryption password: [LEEG LATEN]

Path to GPG program [/bin/gpg]: [LEEG LATEN]

Use HTTPS protocol [Yes]: [LEEG LATEN]

HTTP Proxy server name: [LEEG LATEN]

Er wordt een samenvatting gegeven van de instellingen, welke je kunt testen:
Test access with supplied credentials? [Y/n] y

Als alle instellingen correct zijn gedaan, krijg je de volgende melding:
Please wait, attempting to list all buckets...
Success. Your access key and secret key worked fine :-)

Now verifying that encryption works...
Not configured. Never mind.

Als u deze bevestiging gekregen heeft, kunt u het configuratiebestand opslaan.

Basis commando's


Wanneer s3cmd is geconfigureerd kunt u buckets en objects gaan beheren.
  • Een bucket is vergelijkbaar met een map; hierin kunt u bestanden onderbrengen.
  • Een object is de benaming van een los bestand in een bucket.

Om je huidige buckets weer te geven gebruikt je het ls commando:

[xxx@host:~]$ s3cmd ls
2013-10-07 11:19 s3://test
2013-11-11 15:15 s3://backup


Om buckets aan te maken gebruik je het commando mb gevolgd door de volledige bucket naam, bijv:

[xxx@host:~]$ s3cmd mb s3://bucket1 
Bucket 's3://bucket1/' created


Om objecten in een bucket te plaatsen gebruik je het put commando, bij voorkeur samen met de juiste toegangsregels (ACL) die bepalen of het object publiek (--acl-public) toegankelijk is, of enkel voor jou (--acl-private). Wanneer je geen ACL meegeeft, is het object standaard enkel voor jezelf toegankelijk en niet opvraagbaar via bijv. de webbrowser.

Om een object publiek beschikbaar te maken, gebruikt je bijv. het volgende put commando:

[xxx@host:~]$ s3cmd put --acl-public afbeelding.jpg s3://bucket1/afbeelding.jpg
upload: 'afbeelding.jpg' -> 's3://bucket1/afbeelding.jpg' [1 of 1]
0 of 0 0% in 0s 0.00 B/s done
Public URL of the object is: http://bucket1.o.auroraobjects.eu/afbeelding.jpg


Zoals je kunt lezen, is het object publiekelijk toegankelijk op http://bucket1.o.auroraobjects.eu/afbeelding.jpg.
Mooi!

Om weer te geven welke objecten er in je bucket staan, gebruik je wederom het ls commando:

[xxx@host:~]$ s3cmd ls s3://bucket1 
2013-11-11 15:16 13298 s3://bucket1/afbeelding.jpg
2013-11-11 15:24 13298 s3://bucket1/document.doc


Je hebt nu kennis kunnen maken met de meest gebruikte commando's.

Overige commando's


Om buckets te verwijderen gebruik je rb. bijv:

[xxx@host:~]$ s3cmd rb s3://bucket1


Om objecten te verwijderen gebruik je del, bijv:

[xxx@host:~]$ s3cmd del s3://bucket1/afbeelding.jpg


Om de toegangsregels (ACL) van een object aan te passen, gebruik je setacl, bijv:

[xxx@host:~]$ s3cmd setacl --acl-private s3://bucket1/afbeelding.jpg