私はroot
からインタラクティブに実行できるスクリプトをAWS資格情報が必要です。しかし、私が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