Crontab无法找到AWS凭证-linuxbox EC2
问题描述:
我已经创建了一个linux框,它有一个非常简单的make bucket命令:was s3 mb s3://bucket
从提示符运行正常工作正常。Crontab无法找到AWS凭证-linuxbox EC2
我已经将AWS configure作为用户登录为和sudo运行。细节绝对正确,因为上面不会创建桶。
我从cron得到的错误消息是:make_bucket failed: s3://cronbucket/ Unable to locate credentials
我一直在试图告诉它的凭据是crontab中尝试了各种东西迄今为止,一些这是其他解决方案的融合,其可能是问题的原因。
我的crontab的样子:
AWS_CONFIG_FILE="/home/ec2-user/.aws/config"
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binx
0 0 * * * /usr/bin/env bash /opt/foo.sh &>> /tmp/foo.log
* * * * * /usr/bin/uptime > /tmp/uptime
* * * * * /bin/scripts/script.sh >> /bin/scripts/cronlogs/cronscript.log 2>&1
最初我只是有这样的观点中的桶,然后创造了正常运行时间(如完整性检查)的两份工作,在crontab的其余来自其他职位的解决方案这似乎不工作。
任何意见非常感谢,谢谢。
答
问题是,cron没有得到你的env。有几种方法可以解决这个问题。运行包含您的配置文件的bash脚本。或者一个不错的简单解决方案是将其与crontab一起包含。 (变化曲线,无论你正在使用)
0 5 * * * . $HOME/.profile; /path/to/command/to/run
退房这个thread
您应该使用IAM角色。 – tedder42
我不能为这个特定的场景 – null