Upload auf S3 (Strato) über Bash-Script
Hallo Forum,
ich habe irgendwie gerade einen Hänger...
Mehr oder minder für testzwecke und auch ein wenig um den Horizont zu erweitern, befasse ich mich mit dem Upload (später dann auch Download) von Daten auf einen S3 Speicher. In diesem Fall vom Hoster Strato.
Mein Testsystem ist ein Debian 12, auf dem ich bereits die AWS-Bibliothek installiert habe.
Auf der Suche nach Ideen und Ansätzen habe ich das hier gefunden (ich bin kein Programmierer).
... ein bisschen abspeckt und auf meine Bedürfnisse angepasst.
Nach vielen Hin und Her habe ich einen einzelnen, festen Befehl ausprobiert. Der hier:
In der Console direkt eingeben, funktioniert das.
"Starte" ich diesen Befehl über eine SH-Datei (./upload.sh) funktioniert das nicht. Die SH-Datei sieht dann so aus.
Wahrscheinlich eine Frage für Freitag, aber ich raff es nicht... Hä? Hat jemand die Erleuchtung für mich?
Den Spökes später mit Schleife über mehrere Datei will ich mir dann noch selbst erarbeiten. Also warum klappt der einzelnen Befehl nicht?
Viele Grüße
P.S.: Ist der Ansatz richtig (Nicht vorhandene Doku seitens Strato lässt grüßen) mit der AWS-Cli zu arbeiten?
P.P.S.: Der Umgang mit s3fuse ist mir "zu wild". Ich möchte den Upload kontrollieren und nicht eine Art "Shared-Folder" haben.
ich habe irgendwie gerade einen Hänger...
Mehr oder minder für testzwecke und auch ein wenig um den Horizont zu erweitern, befasse ich mich mit dem Upload (später dann auch Download) von Daten auf einen S3 Speicher. In diesem Fall vom Hoster Strato.
Mein Testsystem ist ein Debian 12, auf dem ich bereits die AWS-Bibliothek installiert habe.
Auf der Suche nach Ideen und Ansätzen habe ich das hier gefunden (ich bin kein Programmierer).
#!/bin/bash
# Set your AWS S3 bucket name
bucket_name="s3-pve"
# Set the directory containing files you want to upload
directory="/tmp/files"
# Loop through each file in the directory and upload it to S3
for file in "$directory"/*; do
# Get the filename
filename=$(basename "$file")
# Upload the file to S3
echo "Uploading $filename to S3..."
strato s3 cp $filename" "s3://s3-pve>
# Check if the upload was successful
if [ $? -eq 0 ]; then
echo "Upload of $filename successful."
else
echo "Upload of $filename failed."
fi
done
... ein bisschen abspeckt und auf meine Bedürfnisse angepasst.
Nach vielen Hin und Her habe ich einen einzelnen, festen Befehl ausprobiert. Der hier:
strato s3 cp test.zip s3://s3-pve
In der Console direkt eingeben, funktioniert das.
"Starte" ich diesen Befehl über eine SH-Datei (./upload.sh) funktioniert das nicht. Die SH-Datei sieht dann so aus.
#!/bin/bash
strato s3 cp test.zip s3://s3-pve
Wahrscheinlich eine Frage für Freitag, aber ich raff es nicht... Hä? Hat jemand die Erleuchtung für mich?
Den Spökes später mit Schleife über mehrere Datei will ich mir dann noch selbst erarbeiten. Also warum klappt der einzelnen Befehl nicht?
Viele Grüße
P.S.: Ist der Ansatz richtig (Nicht vorhandene Doku seitens Strato lässt grüßen) mit der AWS-Cli zu arbeiten?
P.P.S.: Der Umgang mit s3fuse ist mir "zu wild". Ich möchte den Upload kontrollieren und nicht eine Art "Shared-Folder" haben.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 73127755953
Url: https://administrator.de/contentid/73127755953
Ausgedruckt am: 19.11.2024 um 07:11 Uhr
2 Kommentare
Neuester Kommentar