web-dev-qa-db-ja.com

ディレクトリをRackspaceCloudファイルバケットと同期/ミラーリング

ローカルディレクトリのコンテンツをRackspaceCloud Filesバケットのコンテンツと同期するために使用できるツールは何ですか?

ミラーリングを行うには、バックアップアプリケーションではなく、rsyncのようなアプリケーションが必要です。私が欲しいのはできることです

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

リモートバケットに/local/dir/にあるファイルの正確なミラーが含まれるようにします。

ファイルのメタデータ(所有者、アクセス許可)は重要ではなく、メインディレクトリ内にディレクトリはありません。

5
gioele

ローカルディレクトリをRackspaceクラウドファイルに同期する最も簡単な方法は、 openstack/Swiftプロジェクト が提供するコンソールツールを使用することです。 ubuntuでは、ツールはapt-get install python-swiftclientでインストールできます

次に、アップロードするディレクトリにいると仮定して、ターミナルで次のコマンドを実行します。

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

これにより、現在のディレクトリから<containername>コンテナにファイルが再帰的にアップロードされ、変更されたファイルのみをアップロードすることで時間を節約できます。クラウドコントロールパネルへのログインに使用する<username>と、同じコントロールパネルの[アカウント/アカウント設定]で利用できる<api-key>を指定する必要があります。

注意:相対パスまたは絶対パスを使用する場合、Swiftはそれらを疑似パスコマンドラインでコンテナに提供されます。したがって、.を同期する代わりに/var/www/testを同期すると、ファイルはコンテナの/var/www/test疑似パスの下に配置されます-おそらく、これはあなたが望むものではありません。

5
user3096626

Linuxの場合、私はこの古いプロジェクトを見つけました: http://code.google.com/p/cloudfiles-sync/wiki/Instructions

Windowsの場合、次のGUIツールがあります。 http://www.cloudberrylab.com/free-openstack-storage-Explorer.aspx

また、クラウドファイルストレージをマウントできる可能性のあるこのツールを見つけました: http://smestorage.com/?p=static&page=LinuxDrive

1
CoreyH

Rackspace Cloud Files Fuseモジュール( http://www.rackspace.com/knowledge_center/article/mounting-rackspace-cloud-files-to-linux-using-cloudfuse )を使用して、マウント可能なファイルシステムですが、次の注意事項に注意してください。

  • 権限と時間の設定はサポートされていないため、-size-onlyのようなものを使用して、ファイルが完全に書き込まれたかどうかを判断します。-aなどではありません。
  • モジュールは書き込みをメモリ内の一時ファイルにキャッシュし、アップロード時にすべての帯域幅を消費するため、-bwlimitの使用は機能しません。トリクルユーティリティを使用して実験を行って、それが役立つかどうかを確認しています
1
greatquux

別の潜在的なオプションとして、rsyncを実行するボリュームとしてRackspace Cloud FilesをマウントするためのCloudFuseの代わりに、CaimitoをCloud-Files-to_WebDAVブリッジとして実行できます。

http://caimito.ngasi.com/

次に、rsyncと一連の特別なコマンドラインオプションを備えたFuse DAV2ファイルシステムプラグインを使用して、ブリッジ経由でファイルをクラウドファイルに到達させることを試みることもできますが、代わりに「sitecopy」をお勧めします。これは基本的にはそうではありません。ユニゾンとはひどく似ていません。

https://www.howtoforge.com/maintaining-remote-web-sites-with-sitecopy-debian-squeeze-ubuntu-11.1

Sitecopyは、WebDAVを介してファイルをターゲットにプッシュするという素晴らしい仕事をします(ターゲットがクラウドファイルへのフロントエミュレーションレイヤーであっても)。これは、「sitecopy」がリモートエンドファイルメタデータのローカルデータベースを維持しているため、rsyncとのバッチ比較を迅速に行うことができます。

Caimitoは、そのJavaルートにもかかわらず、驚くほど安定していて、インストールと構成が簡単でした。

「Swift」(上記)を使用する方がソリューションへのより直接的なベクトルであると結論付けるかもしれませんが、このソリューションでは、データフローを調査、分析、デバッグ、および制御するための場所がさらにいくつか提供されます。

1
bshensky

そのためにrsyncを使用できると思いますが、どのような理由でも機能しません: nison File Synchronizer 、それは本当に素晴らしいです!

0
alexus