Linux之xcall在集群中批量执行相同命令

简述

如果你想批量启动整个集群的某个服务,你不可能挨个切换终端软件去执行命令,你会累死,所以就写个脚本,在主服务器去执行命令,这样的话每个机器都可以同时执行这个命令了.

开始编写脚本

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‘‘ 附近有语法错误 错误,看下面的链接
添加链接描述

猜你喜欢

转载自blog.csdn.net/qq_41489540/article/details/109094840