ローカル サーバーと Amazon S3 の間でファイルを同期するために boto-rsync を使用しています。また、Dreamhost の DreamObjects でも使用しています。現在、シンボリック リンクを使用してスクリプトを適切な資格情報にポイントするか、さまざまなエンドポイントに対処するために --access-key KEY および --secret-key SECRET を使用してそれらをスクリプトに追加するだけです。
私の bash スクリプトは、必要に応じてリンクを破棄/作成できますが、少し面倒です。また、キーとシークレットをスクリプトに入れると、それらはプロセス リストに公開されます。これは、サーバー上に私しかいないため大したことではありませんが、実際には最適ではありません。
誰かがより良いアイデアを持っていますか?
*したがって、私のスクリプトは次のようになります。
#!/bin/bash
i=bucketname
date
echo "***** syncing media to Amazon S3 *****"
export AWS_ACCESS_KEY_ID=s3-access-key
export AWS_SECRET_ACCESS_KEY=s3-secret-access-key
/usr/local/bin/boto-rsync /media/$i/ s3://$i/
date
echo "***** syncing media to DreamObjects *****"
export AWS_ACCESS_KEY_ID=dreamobjects-access-key
export AWS_SECRET_ACCESS_KEY=dreamobjects-secret-access-key
/usr/local/bin/boto-rsync --endpoint objects.dreamhost.com /media/$i/ s3://$i/
echo "***** finished syncing files *****"
date
exit 0
正確には garnaat が推奨したものではありませんが、彼のアドバイスに触発されて、boto ドキュメントhttps://github.com/boto/botoを読み、環境変数を設定できることを発見しました。ずっときれい。ありがとう!