と に 2 つの環境がありAWS Elastic Beanstalk
ます。Development
Production
.ebextensions/app.config
環境でのみ実行したいと思いProduction
ます。それを行う方法はありますか?
app.config:
container_commands:
01-command:
command: "crontab .ebextensions/cronjob"
leader_only: true
と に 2 つの環境がありAWS Elastic Beanstalk
ます。Development
Production
.ebextensions/app.config
環境でのみ実行したいと思いProduction
ます。それを行う方法はありますか?
app.config:
container_commands:
01-command:
command: "crontab .ebextensions/cronjob"
leader_only: true
TNICHOLS
アイデアによると、私は解決策を見つけました:
環境PARAM1
変数の値をMyAppEnv-Production
(または必要な値に) 変更します。
app.config:
container_commands:
command-01:
command: "/bin/bash .ebextensions/crontab.sh"
leader_only: true
crontab.sh:
if [ "$PARAM1" == "MyAppEnv-Production" ]; then
crontab -l > /tmp/cronjob
#CRONJOB RULES
echo "00 00 * * * /usr/bin/wget http://localhost/cronexecute > /dev/null 2>&1" >> /tmp/cronjob
crontab /tmp/cronjob
rm /tmp/cronjob
echo 'Script successful executed, crontab updated.'
else
echo 'This script is only executed in the production environment.'
fi
あなたが考えている方法でそれを行う簡単な方法はないと思います。構成ファイルを実行して、2 つ目のスクリプト (おそらく cron.sh) を実行することができます。cron.sh 内で環境名を確認し、それに応じて cronjobs を追加できます。テストしていませんが、うまくいくはずです。