2016-04-29 18 views
1

ich eine Linux-Box erstellt habe, die einen sehr einfachen make Eimer Befehl hat: Es wurde s3 mb s3://bucket dies von der Aufforderung funktioniert gut.Crontab nicht AWS Credentials finden - linuxbox EC2

Ich habe laufen AWS als beide konfigurieren den Benutzer ich in so und sudo angemeldet bin. Die Details sind definitiv korrekt, da das obige nicht den Bucket erstellen würde.

Die Fehlermeldung ich von cron bekommen ist :make_bucket failed: s3://cronbucket/ Unable to locate credentials

ich verschiedene Dinge so weit mit dem crontab bei dem Versuch, versucht haben, es zu sagen, wo die Anmeldeinformationen sind, einige davon ist ein Zusammenschluss von anderen Lösungen, die kann eine Ursache für das Problem sein.

Meine crontab wie folgt aussehen:

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 

anfangs hatte ich nur die zwei Jobs, die den Eimer zu machen wurden und dann die Laufzeit zu schaffen (als Plausibilitätsprüfung), der Rest der crontab sind Lösungen aus anderen Beiträgen das scheint nicht zu funktionieren.

Jede Beratung sehr geschätzt wird, danke.

+2

sollten Sie IAM Rollen verwenden. – tedder42

+0

Ich kann nicht für diese spezielle Szenario – null

Antwort

2

Das Problem ist, dass cron nicht Ihre env bekommt. Es gibt mehrere Möglichkeiten, dies zu erreichen. Führen Sie entweder ein Bash-Skript mit Ihrem Profil aus. Oder eine nette einfache Lösung wäre, es mit Crontab zu integrieren. (Profil wechseln, was auch immer Sie verwenden)

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

Check out diese thread

+0

Danke, bin ich jetzt, dass die Lösung, das Home-Verzeichnis versuche gesetzt ist, war die .profile leer, so über .aws/config .profile und wartet ich kopierte nun für den Job run – null

+0

gleichen Fehler Ich habe Angst - das ist der Befehl: * * * * *. $ HOME/.Profil; /bin/script/script.sh >> /bin/script/cronlogs/cronscript.log 2> & 1 – null

+0

obwohl ich feststellen, dass es Mail-Nachricht erhalte ich versucht root @ ip zu verwenden, anstatt meine Benutzer, ist vielleicht, dass die Frage – null