2013-06-29 2 views
1

로컬 서버와 Amazon S3간에 파일을 동기화하는 데 boto-rsync를 사용하고 있습니다. 나는 또한 Dreamhost의 DreamObjects와 함께 사용하고 있습니다. 현재 나는 심볼릭 링크를 사용하여 스크립트가 적절한 자격 증명을 가리 키도록하거나 단순히 다른 엔드 포인트를 처리하기 위해 --access-key KEY 및 --secret-key SECRET을 사용하여 스크립트에 추가합니다.boto-rsync multiple credentials

내 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을 읽고 내가 환경 변수를 설정할 수 있습니다 발견했다. 훨씬 더 깔끔하게. 감사!

답변

1

boto-rsync에 대해 많이 알지는 못하지만, boto를 보닛으로 사용하고 boto는 boto 구성 파일을 가리키는 데 사용할 수있는 BOTO_CONFIG 환경 변수를 지원합니다. 따라서 AWS 자격 증명과 Dreamhost 자격 증명이있는 두 개의 구성 파일을 가질 수 있으며 BOTO_CONFIG 환경 변수가 시작될 때 적절한 구성 파일을 가리 키도록 설정할 수 있습니다.