Shell脚本实现复制文件到多台服务器的代码分享
在多机集群环境中,经常面临修改配置文件后拷贝到多台服务器的情况,传统的执行scp比较麻烦,所以写了以下shell脚本,可以将指定文件拷贝到多台机器。
使用方法请参见HELP部分代码。
#!/bin/bash help() { cat<<HELP --------------HELP------------------------ Thisshellscriptcancopyfiletomanycomputers. Useage: copytoallfilename(fullpathform/home)targetpathfrom/usernameip1ip2ip3.... Example: copytoall/home/casliyang/Hadoop-2.2.0/etc/hadoop/core-site.xml/home/casliyang/hadoop-2.2.0/etc/hadoop/casliyang192.168.0.5192.168.0.6192.168.0.7192.168.0.8 ------------------------------------------ HELP exit0 } currentdate=$(date+%Y-%m) echo$currentdate"executecopytoall" if[$1="-h"];then help exit0 fi file=$1 shift targetpath=$1 shift user=$1 shift tempip=0 if[-f$file];then while[$#-gt0];do tempip=$1 shift scp$file${user}@${tempip}:${targetpath} done else echo"wrongfile!" exit0 fi