AWS 자격 증명이 필요한 root
에서 대화식으로 실행할 수있는 스크립트가 있습니다. 그러나 crontab을 통해이 스크립트를 실행하면 No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials/root
오류가 발생합니다. 이 오류는 aws
자격 증명과 관련이 있습니다. 나는 crontab을 사용하여 다른 스크립트를 성공적으로 실행하고있다.Crontab에 자격 증명이 없습니다
crontab이는 다음과 같습니다
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
* * * * * root echo “28/11 test” >> /var/log/cron.log 2>&1
35 14 * * * root /usr/bin/python /full_path/api_60.py && root /usr/bin/python /full_path/api_300.py && root /usr/bin/python /full_path/api_3600.py
40 14 * * * root /usr/bin/python /full_path/daily_push_s3.py
내가 SHELL
및 PATH
변수는 스크립트가 확실히 작동 대화 형 쉘에서 그들을 찾을 echo
를 사용하여 정확 것을 확인했다.
aws
은 ~/.aws
에서 구성 또는 자격 증명 파일을 찾습니다.
따라서 구성 및 자격 증명 파일을 ~/.aws/
대신 /root/.aws/
으로 이동하고 ENV HOME=/root
으로 설정했습니다.
자격 증명 :
[default]
region=eu-west-1
output=json
설정 :
[default]
aws_access_key_id=XXX
aws_secret_access_key=XXX
환경의 차이는 무엇입니까?
자격 증명 파일을 이동 했습니까? – helloV
'config' 또는'credentials' 파일에 무엇이 있는지 모른다고해서 코멘트하기 어렵습니다. '~/.aws'를'/ root/.aws'로 이동/복사해야합니다. 'config'와'credentials' 둘 다 필요합니다. – helloV
고맙습니다. @helloV. 나는 약간의 편집을했다. 이게 도움이 되나요? – LearningSlowly