Это должно работать для вас ... Требуется для установки нескольких систем с автоматизированным cron git pull scripts, которые затем исполняли скрипты baset для crontab/anacron, которые вызывали инструменты java ec2. Обычно в АМЗ-Linux-Ами (их клон RH) творящий из окр VARS идет следующим образом:
(собирается придерживаться соответствующих файлов)
Do логин оболочки ->source /etc/profile
который будет цикл через/и т.д./profile.d и source *.{users shell extension}
в этом случае 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
Вот соответствующая строка:
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
Так сценарий aws-apitools-common.sh
ищет apitools и amitools, затем источники этих инструментов $aws_product/environment.sh
. например: source /opt/aws/apitools/ec2/environment.sh
Теперь это, вероятно, то, что вы ищете (/opt/aws/apitools/ec2/environment.sh):
$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
Короче экологические вары вы хотите установить/экспорт в вашем скрипте crontab, а также ваши скрипты, запускаемые с помощью anacron, будут (лично я загружаю файлы key.conf, которые генерируются с помощью git repo, и каждый раз сжимать git-pull, поэтому ключи и env cat обновляются как и сами скрипты. Затем сценарий задания инициализирует файл conf):
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
Приветствия!
oops обязательно экспортируйте эти vars: 'export AWS_ACCESS_KEY AWS_SECRET_KEY EC2_URL JAVA_HOME EC2_HOME EC2_URL PATH', если вы отправляете исходный маршрут, вероятно, разумно не выполнять экспорт туда. – jonretting
Также измените оболочку в/etc/crontab 'SHELL =/bin/bash' и/или/etc/anacrontab' SHELL =/bin/bash' Я не доверяю shebangs, особенно когда cronie участвует. – jonretting