简述
如果你想批量启动整个集群的某个服务,你不可能挨个切换终端软件去执行命令,你会累死,所以就写个脚本,在主服务器去执行命令,这样的话每个机器都可以同时执行这个命令了.
开始编写脚本
xcall文件
#!/bin/bash
#在集群的所有机器上批量执行同一条命令
if(($#==0))
then
echo 请输入您要操作的命令!
exit
fi
echo 要执行的命令是$*
#循环执行此命令
#我服务器名字是 zjj101 zjj102 zjj103 这里调整你们自己的服务器名字.
for((i=101;i<=103;i++))
do
echo ---------------------zjj$i-----------------
ssh zjj$i $*
done
开始使用
zjj101 执行 jps 命令
[root@zjj101 soft]# sh xcall jps
要执行的命令是jps
---------------------zjj101-----------------
22353 NodeManager
90933 DataNode
67060 Jps
41974 RunJar
22105 ResourceManager
90808 NameNode
---------------------zjj102-----------------
18164 Jps
---------------------zjj103-----------------
21151 Jps
[root@zjj101 soft]# ls
错误解决
如果执行shell出现 行4: 未预期的符号 `$‘\r‘‘ 附近有语法错误 错误,看下面的链接
添加链接描述