2016-04-29 83 views
1

我已經創建了一個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的其餘來自其他職位的解決方案這似乎不工作。

任何意見非常感謝,謝謝。

+2

您應該使用IAM角色。 – tedder42

+0

我不能爲這個特定的場景 – null

回答

2

問題是,cron沒有得到你的env。有幾種方法可以解決這個問題。運行包含您的配置文件的bash腳本。或者一個不錯的簡單解決方案是將其與crontab一起包含。 (變化曲線,無論你正在使用)

0 5 * * * . $HOME/.profile; /path/to/command/to/run 

退房這個thread

+0

謝謝,我現在正在嘗試解決方案,主目錄設置,.profile是空白的,所以我複製.aws /配置爲.profile,現在正在等待工作運行 – null

+0

同樣的錯誤恐怕 - 這是命令:* * * * *。 $ HOME/.profile文件; /bin/script/script.sh >> /bin/script/cronlogs/cronscript.log 2>&1 – null

+0

雖然我注意到我收到的郵件消息是試圖使用root @ ip而不是我的用戶,也許這就是問題 – null