0
我有一個腳本,我可以從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
從交互shell在腳本的工作肯定找他們正確的。
我讀hereaws
在~/.aws
中查找配置或憑證文件。
因此,我將配置和憑證文件移至/root/.aws/
而不是~/.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