2016-04-29 1 views
1

Я создал окно Linux, которое имеет очень простую команду bucket: было s3 mb s3://bucket, выполняющее это из подсказки, отлично работает.Crontab не может найти AWS Credentials - linuxbox EC2

Я запустил AWS configure как пользователь, с которым я вошел, как и sudo. Детали определенно правильны, так как выше не будет создавать ведро.

Сообщение об ошибке я получаю от хрон является :make_bucket failed: s3://cronbucket/ Unable to locate credentials

Я пробовал различные вещи до сих пор с кронтаб в попытке сказать ему, где учетные данные, некоторые это объединение других решений, может быть причиной этой проблемы.

Мой кронтаб выглядеть:

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 

изначально я просто имел два рабочих места, которые делали ведра, а затем создающие безотказной работы (в качестве проверки вменяемости), остальные кронтаб являются решения от других сообщений которые, похоже, не работают.

Любые советы очень ценятся, спасибо.

+2

Вы должны использовать IAM роли. – tedder42

+0

Я не мог для этого конкретного сценария – null

ответ

2

Проблема в том, что cron не получает вашего env. Есть несколько способов приблизиться к этому. Либо запуск сценария bash, который включает ваш профиль. Или простое простое решение - включить его в crontab. (Профиль изменения к тому, что вы используете)

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

проверить этот thread

+0

Спасибо, я сейчас пытаюсь это решение, домашний каталог установлен, .profile был пустым, поэтому я скопировал файл .aws/config в .profile и теперь жду работу Запустите – null

+0

ту же ошибку, я боюсь - это команда: * * * * *. $ HOME/.profile; /bin/script/script.sh >> /bin/script/cronlogs/cronscript.log 2> & 1 – null

+0

хотя я замечаю, что там почтовое сообщение, которое я получаю, пытается использовать root @ ip вместо моего пользователя, возможно, это проблема – null