Dies ist für Sie sollten ... arbeiten mit automatisierten:
Edit: Wenn Ihr Problem ist einfach die env für Aufträge von cron Einstellung, werfen Sie einen Blick auf cron git pull scripts, die dann crontab/anacron run-parts bash-scripts ausführen, die ec2-java-tools aufrufen. Normalerweise in einer amz-linux-ami (ihr RH-Klon) die Erstellung von env vars geht wie folgt:
(zu dem relevanten Dateien halten zu gehen)
Do Shell Login ->source /etc/profile
die Schleife durch/etc/profile.d und source *.{users shell extension}
in diesem Fall aws-apitools-common.sh
$cat aws-apitools-common.sh
export AWS_PATH=/opt/aws
export PATH=$PATH:$AWS_PATH/bin
#Prefer JDK if present (i pulled the condition to de-clutter this info)
export JAVA_HOME=/usr/lib/jvm/java
export JAVA_HOME=/usr/lib/jvm/jre
Hier ist die entsprechende Zeile:
for aws_product in $(find /opt/aws/apitools /opt/aws/amitools -maxdepth 1 -type l 2>/dev/null); do
[ -e $aws_product/environment.sh ] && source $aws_product/environment.sh; done
So das Skript aws-apitools-common.sh
sucht nach Apitools und Amitools, dann Quellen diese Tools $aws_product/environment.sh
. ex: source /opt/aws/apitools/ec2/environment.sh
Nun ist dies wahrscheinlich das, was Sie für (/opt/aws/apitools/ec2/environment.sh) suchen:
$cat environment.sh
# Set EC2_HOME. Called from /etc/profile.d/aws-product-common
[ -z "$EC2_HOME" ] && EC2_HOME="/opt/aws/apitools/ec2"
export EC2_HOME
Kurz gesagt, die Umwelt Vars Sie/Export setzen wollen in Ihrem Crontab-Skript und/oder in Ihren anacron-Run-partited-Skripten (persönlich lade ich key.conf-Dateien, die aus einem Git-Repo generiert werden, und lasse jeden Tag ein Feuer ziehen, damit Schlüssel und das Env-Cat aktualisiert werden genau wie die Skripte selbst. Dann ruft das Auftragsskript die Datei conf auf:
AWS_ACCESS_KEY="blah-blah-dingle-smith"
AWS_SECRET_KEY="yankee-doodle-shit-no-stank"
JAVA_HOME="/usr/lib/jvm/java"
EC2_HOME="/opt/aws/apitools/ec2"
EC2_URL="https://us-west-2.ec2.amazonaws.com/"
PATH="$PATH:/opt/aws/bin" # is dir contains a symlinks of tool binaries
Prost!
oops sicher sein, diese vars zu exportieren: 'export AWS_ACCESS_KEY AWS_SECRET_KEY EC2_URL JAVA_HOME EC2_HOME EC2_URL PATH' wenn Sie die Quelle conf route gehen, wahrscheinlich, um den Export dort nicht auszuführen. – jonretting
Ändern Sie auch die Shell in/etc/crontab 'SHELL =/bin/bash' und// etc/anacrontab' SHELL =/bin/bash' Ich vertraue Shebangs nicht, besonders wenn cronie involviert wird. – jonretting