转载请注明出处:http://www.cnblogs.com/blazer/p/5179750.html
环境:CentOS6.4
功能:将本地文件或目录批量scp到各个目标机器。
前提:ssh无密码访问你必须配好。
vi scp.sh
for line in `cat $1` do if [ "$3" == "" ] then # dir echo scp -r $2/ $line:$2/ scp -r $2/ $line:$2/ else # files echo scp ${@:3} $line:$2/ scp ${@:3} $line:$2/ fi done
第一个参数:必须,host的路径,里面应该是一个ip一行
第二个参数:必须,文件路径
第三个参数:可选,如果没有,则scp一个目录,如果有,则scp该参数所配置的文件
第一个参数的示例:
vi /home/hadoop/slaves
192.168.0.100 192.168.0.101
scp 多个文件,执行:
sh scp.sh /home/hadoop/slaves /home/hadoop hyy.csv hyy2.csv
会将本地目录/home/hadoop下的hyy.csv和hyy2.csv scp 到slaves里面ip机器的目录/home/hadoop下
scp 一个目录,执行:
sh scp.sh /home/hadoop/slaves /home/hadoop/conf
会将本地目录/home/hadoop/conf scp 到slaves里面ip机器的目录/home/hadoop/conf