rsyncするインスタンスをAWS EC2のNameタグを元に判断する

5分で作ったスクリプトのメモ
・管理サーバから実行することを想定
・(EC2インスタンスのNameタグ)は「prd-web」等を想定
・IAMrole使用
・jq使用
・並列実行風

#!/bin/bash
################
# Sync2DocRoot #
################

SYNCHOST=(`aws ec2 describe-instances --filters Name=tag-value,Values="(EC2インスタンスのNameタグ)*" | jq '.Reservations[].Instances[]|{PrivateIpAddress}' | grep "PrivateIpAddress" | awk '{print $NF}' | sed -e "s/"//g"`)

SRCDIR="(DocumentRootに配置するコンテンツのあるディレクトリ)"
DSTDIR="(WebサーバのDocumentRoot)"
#USER="root"

for ((i=0; i<${#SYNCHOST[*]}; i++))
do
rsync -avc --delete -e 'ssh -c arcfour256 -o StrictHostKeyChecking=no' ${SRCDIR} ${USER}@${SYNCHOST[$i]}:${DSTDIR} &
done
wait

exit 0

rsyncするインスタンスをAWS EC2のNameタグを元に判断する」への2件のフィードバック

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

w

%s と連携中