SSH経由して複数ホストへの自動コピースクリプト
SSH標準のSCPで指定したフォルダを複数ホストへの自動コピーする。
#!/bin/bash # Check expect cmd locate expect 2>&1>/dev/null || { echo "ERROR! CMD [ expect ] NEEDED!!";exit -1; } SENDUSER='USER' SENDPASS='APSSWORD' SENDDIR='/home/USER/' REMOTEDIR='/home/' HOSTS='192.168.45.102 192.168.45.103 192.168.45.104 192.168.45.105 192.168.45.10 6' # Send to hosts using SCP for host in ${HOSTS} do expect -c " spawn /usr/bin/scp -r ${SENDDIR} ${SENDUSER}@${host}:${REMOTEDIR} expect { \"Are you sure you want to continue connecting (yes/no)?\" { send \"yes\r\" expect \"password:\" send \"$SENDPASS\r\" } \"password:\" { send \"$SENDPASS\r\" } } interact " done