Verzeichnis mit Rackspace Cloud-Datei-Bucket synchronisieren/spiegeln

Verzeichnis mit Rackspace Cloud-Datei-Bucket synchronisieren/spiegeln

Welches Tool kann ich verwenden, um den Inhalt eines lokalen Verzeichnisses mit dem eines Rackspace Cloud Files-Buckets zu synchronisieren?

Ich brauche eine rsync-ähnliche Anwendung, um einen Spiegel zu erstellen, keine Backup-Anwendung. Was ich will, ist die Möglichkeit,

rsync --update --delete /local/dir/ cloudfiles://bucket

sodass der Remote-Bucket ein genaues Spiegelbild der Dateien enthält, die sich darin befinden /local/dir/.

Die Metadaten der Dateien (Eigentümer, Berechtigungen) sind nicht wichtig und es gibt keine Verzeichnisse im Hauptverzeichnis.

Antwort1

Der einfachste Weg, ein lokales Verzeichnis mit Rackspace-Cloud-Dateien zu synchronisieren, ist über die Konsolentools desOpenStack/Swift-ProjektUnter Ubuntu können die Tools installiert werden mitapt-get install python-swiftclient

Führen Sie anschließend den folgenden Befehl im Terminal aus (vorausgesetzt, Sie befinden sich im Verzeichnis, in das Sie hochladen möchten):

$ swift -A https://auth.api.rackspacecloud.com/v1.0 -U <username> -K <api-key> upload <containername> . --changed

Dadurch werden die Dateien aus Ihrem aktuellen Verzeichnis rekursiv in den <containername>Container hochgeladen. Dies spart Zeit, da nur geänderte Dateien hochgeladen werden. Sie müssen die angeben, mit der <username>Sie sich beim Cloud Control Panel anmelden, und die, die <api-key>unter Konto / Kontoeinstellungen im selben Control Panel verfügbar ist.

Aufmerksamkeit: Wenn Sie relative oder absolute Pfade verwenden, lädt Swift sie mit dem Pseudopfad hochüber die Kommandozeile bereitgestellt.in den Container. Wenn Sie also statt zu synchronisieren synchronisieren /var/www/test, landen die Dateien unter dem /var/www/testPseudopfad des Containers – höchstwahrscheinlich ist das nicht das, was Sie wollen.

Antwort2

Für Linux habe ich dieses alte Projekt gefunden:http://code.google.com/p/cloudfiles-sync/wiki/Instructions

Für Windows gibt es dieses GUI-Tool: http://www.cloudberrylab.com/free-openstack-storage-explorer.aspx

Ich habe außerdem gerade dieses Tool gefunden, mit dem Sie möglicherweise einen Cloud-Dateispeicher einbinden können:http://smestorage.com/?p=static&page=LinuxDrive

Antwort3

Sie können das Rackspace Cloud Files FUSE-Modul (http://www.rackspace.com/knowledge_center/article/mounting-rackspace-cloud-files-to-linux-using-cloudfuse), um ein mountbares Dateisystem zu erstellen. Beachten Sie jedoch die folgenden Einschränkungen:

  • Verwenden Sie etwas wie --size-only, um festzustellen, ob die Datei vollständig geschrieben wurde, nicht -a oder ähnliches, da das Festlegen von Berechtigungen und Zeiten nicht unterstützt wird
  • Die Verwendung von --bwlimit funktioniert nicht, da das Modul Schreibvorgänge in einer temporären Datei im Speicher zwischenspeichert und dann beim Hochladen die gesamte Bandbreite verbraucht. Ich führe ein Experiment mit dem Dienstprogramm „Trickle“ durch, um zu sehen, ob das hilft.

Antwort4

Ich denke, Sie können dafür rsync verwenden, aber wenn das aus irgendeinem Grund bei Ihnen nicht funktioniert, versuchen Sie auch Folgendes:Unison Dateisynchronisierer, es funktioniert wirklich großartig!

verwandte Informationen