ファイルに10行を読み込むbashスクリプトがあります。各行には起動が必要なサーバー名があり、起動処理に時間がかかり、次のサーバーで処理できるようにスクリプトで「control c」を送信する必要があります。そうしないと、ブート処理中に各サーバーでループ処理が長くかかることがあります。ループ処理を続行するために制御cを送信します
ここでは、各サーバで30分以上かかるが、制御cがスクリプト/自動化に送信されるとループが続行する可能性があります。
$ eb restore environment_id
INFO: restoreEnvironment is starting.
-- Events -- (safe to Ctrl+C) Use "eb abort" to cancel the command.
2017-01-01 12:00 restoreEnvironment is starting
2017-01-01 12:15 Environment health has transitioned to Pending. Initialization in progress (running for 28 seconds). There are no instance
2017-01-01 12:20 Created security group named: sg-123123123
2017-01-01 12:22 Created load balancer named: awseb-e-3-qweasd2-DSLFLSFJHLS
2017-01-01 12:24 Created security group named: sg-123123124
2017-01-01 12:26 Created Auto Scaling launch configuration named: awseb-e-DSLFLSFJHLS-stack-AWSEBAutoScalingLaunchConfiguration-DSLFLSFJHLS
2017-01-01 12:28 Added instance [i-01askjdkasjd123] to your environment.
2017-01-01 12:29 Created Auto Scaling group named: awseb-e-DSLFLSFJHLS-stack-AWSEBAutoScalingLaunchConfiguration-DSLFLSFJHLS
2017-01-01 12:30 Waiting for EC2 instances to launch. This may take a 30 minutes
2017-01-01 13:15 Successfully launched environment: pogi-server
ここは私の仕事ですスクリプト
#!/bin/bash
DIR=/jenkins/workspace/restore-all
INSTANCE_IDS=/jenkins/workspace/environment-ids
EB_FILE=$DIR/server.txt
echo "PROCEEDING TO WORK DIRECTORY"
cd $DIR ; pwd
echo""
echo "CREATING A CODE FOLDER"
mkdir $DIR/code ; pwd ; ls -ltrh $DIR/code
echo""
for APP in `cat $EB_FILE | awk '{print $NF}' | grep -v 0`
do
echo "#########################################"
echo "RESTORING = "$APP
echo ""
echo "COPYING BEANSTALKFILES"
mkdir $DIR/code/$APP ; cd $DIR/code/$APP
cp -pr $DIR/beasntalk/$APP/dev/.e* $DIR/code/$APP
echo ""
echo ""
echo "TRIGGERING EB RESTORE"
cd $DIR/code/$APP
eb restore `tail -1 $INSTANCE_IDS/$APP-dev.txt`
echo ""
echo "REMOVE CODE FOLDER"
cd $DIR/code ; rm -rf $DIR/code/*
echo""
done
echo "REMOVE WORKSPACE FOLDER"
rm -rf $DIR/*
echo""
私は、スクリプトの末尾に/ $ DIRからすべてを削除することがわかり - もしそうなら、どこ$ DIR/beasntalk/*から来るのでしょうか?さらに、上記の出力で述べたように、** "eb abort" **を試してみましたか? – JayRugMan
こんにちはJayRugMan、ここであなたの注意に感謝します。このスクリプトはJenkinsによってトリガーされ、git repoからBeanstalk/*ファイルをダウンロードする機能があります。 server.txtファイルに関して、そのファイルには、ループプロセスが探している環境名が含まれています。環境IDは、終了した環境の環境IDを含むテキストファイルです。 – Siomay