간단한 AWS CLI 백업 스크립트를 실행하려고합니다. 포함 파일에서 행을 반복하고 해당 경로를 S3까지 백업하며 출력을 로그 파일로 덤프합니다. 이 명령을 직접 실행하면 오류없이 실행됩니다. CRON을 통해 실행할 때 출력 로그에 "자격 증명을 찾을 수 없습니다"라는 오류가 발생합니다.
쉘 스크립트 :
AWS_CONFIG_FILE="~/.aws/config"
while read p; do
/usr/local/bin/aws s3 cp $p s3://PATH/TO/BUCKET --recursive >> /PATH/TO/LOG 2>&1
done </PATH/TO/INCLUDE/include.txt
오류가 발생하기 시작한 후에 만 구성 파일에 줄을 추가했는데, 이것이 AWS가 기본적으로 보이는 위치라고 확신하더라도 오류를 해결할 수 있다고 생각했습니다.
쉘 스크립트가 루트로 실행 중입니다. 지정된 위치에서 AWS 구성 파일을 볼 수 있습니다. 그리고 그것은 모두 나에게 좋아 보입니다 (내가 말했듯이 CRON 외부에서 잘 작동합니다).
~/.aws/config
.