100台服务器分发文件,通过简单shell脚本+rsync实现单一文件分发到多台服务器

如果是多台机器,可以考虑分布式文件系统或其他脚本通过来实现。该脚本仅适合通过rsync实现单一文件分发到多台服务器.

vim rsync_single_web.sh

#!/bin/sh

webnode=(

21yunwei-web1

21yunwei-web2

21yunwei-web3

21yunwei-web4

)

for host in ${webnode[@]}

do

rsync -avz /wwwroot/21yunwei_pre/$1 $host:/wwwroot/21yunwei/$1

done

ret=$?

if [ $ret -eq 0 ]

then

echo "$1 分发完毕"

else

echo "$1 分发失败,请检查"

fi

执行效果:

[[email protected] ~]# sh /home/yunwei/rsync_single_web.sh test.php

sending incremental file list

sent 58 bytes received 12 bytes 140.00 bytes/sec

total size is 11886 speedup is 169.80

sending incremental file list

test.php

sent 363 bytes received 133 bytes 330.67 bytes/sec

total size is 11886 speedup is 23.96

sending incremental file list

test.php

sent 363 bytes received 133 bytes 330.67 bytes/sec

total size is 11886 speedup is 23.96

sending incremental file list

test.php

sent 363 bytes received 133 bytes 992.00 bytes/sec

total size is 11886 speedup is 23.96

test.php 分发完毕