Rsync zum AWS S3-Bucket

26

Für einen Server, auf dem ich eine Website hosten möchte, möchte ich die Daten und Einstellungen in einem S3-Bucket sichern. Ich habe herausgefunden, dass Sie rsync nicht direkt zum Sichern auf einen S3-Bucket verwenden können. Gibt es eine andere Möglichkeit, den folgenden Befehl rsync auszuführen, um die Daten in einem S3-Bucket zu sichern?

rsync -­av ­/Data /s3bucket

Ich möchte auch die MySQL-Datenbank auf diesem Server in den S3-Bucket sichern. Was ist der beste Weg, um dies zu erreichen?

Letzte Frage, ob ich alles auf den S3 sichern konnte. Wie kann der Server am besten wiederhergestellt werden, wenn er abgestürzt ist oder im schlimmsten Fall vollständig gelöscht wurde? Muss ich die Servereinstellungen selbst notieren und den Server neu konfigurieren oder gibt es eine Möglichkeit, dies auch zu sichern?

Bart Bergmans
quelle

Antworten:

35

Um mit s3 zu kommunizieren, müssen Sie zwei Dinge haben

  1. IAM-Benutzeranmeldeinformationen, die Lese- und Schreibzugriff auf den S3-Bucket haben.
  2. Ein Client wie aws-cli für Bash, Boto-Bibliothek für Python usw.

Sobald Sie beides haben, können Sie jede Datei von Ihrem Computer auf S3 und von S3 auf Ihren Computer übertragen. Unten sehen Sie das Beispiel für aws-cli.

  1. um alle Dateien in einem Ordner zu synchronisieren

    aws s3 sync source_folder s3://your_bucket_name/destination_folder/

  2. um eine datei nach s3 zu kopieren

    aws s3 cp source_file s3://your_bucket_name/destination_folder/

Ersetzen Sie einfach Quelle und Ziel im Befehl, um eine beliebige Datei von s3 herunterzuladen.

Weitere Informationen finden Sie unter aws docs

Gaurav Pundir
quelle
1
Hinweis: Wahrscheinlich möchten Sie zuerst "aws configure" ausführen, um Ihre Anmeldeinformationen zu speichern, damit Sie sie nicht bei jeder Synchronisierung eingeben müssen.
Tim Burch
1
Es sei darauf hingewiesen, dass rsyncdie Prüfsummen clientseitig und serverseitig berechnet und anschließend verglichen werden, um genau zu bestimmen, ob sich eine Datei geändert hat. Wobei aws s3 syncdies nicht der Fall ist - es werden Dateigrößen und Zeitstempel verwendet. Bitte korrigiert mich jemand, wenn ich falsch liege?
Lqueryvg
13

Du kannst rclone ausprobieren .

Setup ( docs ):

rclone config

Synchronisierung ( Dokumente ):

rclone sync /my/local/folder s3service:bucket-name
Keith
quelle
2
rcloneist ein fantastisches kleines Dienstprogramm!
Andrew Odendaal
1
1+ rclone, ich fand es sehr einfach zu bedienen und der Entwickler scheint unglaublich aktiv und engagiert
adampski
Hört sich gut an, aber können Sie herausfinden, welchen Vorteil die Verwendung von aws s3 sync bietet?
Kutzi
Es erfüllt die Anforderung von OP, rsync zu verwenden. Ich habe weder s3 sync noch rclone mit s3 verwendet, daher weiß ich nichts mehr.
Keith