2012-05-10 5 views
0

ロードバランシングされたWebノード(w1、w2、w3)の束に複数のドメイン(a.com、b.com、およびc.com)を同期しようとしています。すべてのWebノードをマスタからrsyncする方法はありますか?

私は(W1)ノード1に構築することを計画してから、このようなもので、他の人にrsyncの

:(私はすでにW1上だと仮定)のような動的スクリプトで

rsync -arv /var/www/vhosts/a.com/ [email protected]:/var/www/vhosts/a.com/ 

#!/bin/bash 

DOMAINS="a.com b.com c.com" 
NODES="w2 w3" 

for DOMAIN in $DOMAINS; do 
     for NODE in $NODES; do 
       COMMAND="rsync -arv --exclude 'logs' --exclude '.git' /var/www/vhosts/$DOMAIN/ [email protected]$NODE:/var/www/vhosts/$DOMAIN/" 
       echo "$COMMAND" 
       "$COMMAND" 
     done 
done 

最初のマニュアル、rsyncはうまくいきます。しかし何らかの理由で私のバッチrsyncスクリプトが壊れています。

誰かが私のためにデバッグをお手伝いしますか?ありがとう。

+1

'-x'(' sh -x yourscript')で実行して、それが何をしているのかを正確に見てください。 – larsks

+0

それを忘れてしまった。私のノードエイリアス名の問題でした。私の悪い。私は質問を元に戻し、あなたに答えのクレジットを与えます。ありがとう。 – Ryan

答えて

1

あなたは過度の引用を行っています。これに

"$COMMAND" 

:この行を変更するには、全部の前後に引用符を置くとき

$COMMAND 

、シェルは、単一の「トークン」として解釈します。簡単な例を次に示します:

$ COMMAND="echo hello" 
$ "$COMMAND" 
bash: echo: command not found... 
$ $COMMAND 
hello 
関連する問題