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