Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services Crontab不';我没有证件_Amazon Web Services_Docker_Cron_Crontab_Dockerfile - Fatal编程技术网

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。我做了一些编辑。这有用吗?