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