Amazon web services Crontab不';我没有证件
我有一个脚本,可以从Amazon web services Crontab不';我没有证件,amazon-web-services,docker,cron,crontab,dockerfile,Amazon Web Services,Docker,Cron,Crontab,Dockerfile,我有一个脚本,可以从root以交互方式运行,它需要AWS凭据。然而,当我通过crontab运行这个脚本时,我得到一个没有处理程序准备好进行身份验证。检查了1个处理器。['HmacAuthV1Handler']检查您的凭据/root错误。此错误与aws凭证有关。我有其他脚本使用crontab成功运行 crontab如下所示: SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin * * *
root
以交互方式运行,它需要AWS凭据。然而,当我通过crontab运行这个脚本时,我得到一个没有处理程序准备好进行身份验证。检查了1个处理器。['HmacAuthV1Handler']检查您的凭据/root
错误。此错误与aws凭证有关。我有其他脚本使用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中找到它们,脚本肯定可以在其中工作
我读到aws
在~/.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
环境有什么不同 因为crontab环境胜过任何预定义的环境,所以我直接在那里添加了凭据,所有这些都有效
HOME=/root
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
AWS_CONFIG_FILE=“/path/config”
AWS_ACCESS_KEY_ID="XXX"
AWS_SECRET_ACCESS_KEY="XXX"
因为crontab环境胜过任何预定义的环境,所以我直接在那里添加了凭据,所有这些都有效
HOME=/root
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
AWS_CONFIG_FILE=“/path/config”
AWS_ACCESS_KEY_ID="XXX"
AWS_SECRET_ACCESS_KEY="XXX"
是否移动了凭据文件?如果不知道
配置
或凭据
文件中的内容,则很难对其进行评论。您应该将~/.aws
移动/复制到/root/.aws
。您需要配置
和凭证
。谢谢@helloV。我做了一些编辑。这有帮助吗?您是否移动了凭据文件?如果不知道配置
或凭据
文件中的内容,则很难对其进行评论。您应该将~/.aws
移动/复制到/root/.aws
。您需要配置
和凭证
。谢谢@helloV。我做了一些编辑。这有用吗?