如果是多台机器,可以考虑分布式文件系统或其他脚本通过来实现。该脚本仅适合通过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
执行效果:
[root@21yunwei ~]# 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 分发完毕
转载请注明:21运维 » 通过简单shell脚本+rsync实现单一文件分发到多台服务器