准备
免密登录
https://blog.csdn.net/Forest_sld/article/details/112545574#_38
主机映射
vi /etc/hosts
远程拷贝
脚本
vi allsend.sh
#!/bin/bash
if [ $# -lt 2 ];then
echo "please input 2 args : source and dest path"
exit 0
fi
#SERS=“远程拷贝的主机名,可以是地址”
SERS="master01 master02 slave01 slave02"
echo "start to scp distribute : $1..."
for i in $SERS ;do
#防止本机重复拷贝
if [ $i != $HOSTNAME ];then
echo -n "----$i----"
if [ -f $1 ];then
#scp远程拷贝
#文件目录分开拷贝,目录需要加 -r 递归拷贝
CMD=`scp $1 root@$i:$2`
elif [ -d $1 ];then
CMD=`scp -r $1 root@$i:/$2`
fi
echo ok
fi
done
测试
./allsend.sh /etc/profile.d/my.sh /etc/profile.d/
查看详情
远程命令
vi alljps.sh
脚本
#!/bin/bash
if [ $# -ne 1 ];then
echo "please input one sys cmd (like 'jps' etc)"
exit 0
fi
#SERS=“远程拷贝的主机名,可以是地址”
SERS="master01 master02 slave01 slave02"
for i in $SERS;do
echo "-------[ $1 ] $i"-------
#远程执行命令
CMD=`ssh root@$i "$1"`
echo $CMD
done
结果