linux 的shell实现目录复制,Shell脚本实现复制文件到多台服务器的代码分享

在多机集群环境中,经常面临修改配置文件后拷贝到多台服务器的情况,传统的执行scp比较麻烦,所以写了以下shell脚本,可以将指定文件拷贝到多台机器。

使用方法请参见HELP部分代码。

#!/bin/bash

help()

{

cat << HELP

--------------HELP------------------------

This shell script can copy file to many computers.

Useage:

copytoall filename(full path form /home) targetpathfrom/ username ip1 ip2 ip3....

Example:

copytoall /home/casliyang/Hadoop-2.2.0/etc/hadoop/core-site.xml /home/casliyang/hadoop-2.2.0/etc/hadoop/ casliyang 192.168.0.5 192.168.0.6 192.168.0.7 192.168.0.8

------------------------------------------

HELP

exit 0

}

currentdate=$(date +%Y-%m)

echo $currentdate " execute copytoall"

if [ $1 = "-h" ] ; then

help

exit 0

fi

file=$1

shift

targetpath=$1

shift

user=$1

shift

tempip=0

if [ -f $file ] ; then

while [ $# -gt 0 ] ; do

tempip=$1

shift

scp $file ${user}@${tempip}:${targetpath}

done

else

echo "wrong file!"

exit 0

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值