linux同步执行命令脚本 (xcall)

linux同步执行命令脚本 (xcall)

1、在/usr/local/bin目录下 创建xcall文件

vim  /usr/local/bin/xcall

2、输入内容

#!/bin/bash
# 获取控制台指令 判断指令是否为空
pcount=$#
if((pcount==0));
then
        echo "command can not be null !"
        exit
fi

for host in bigdata01  bigdata02 bigdata03
do
        echo ================ $host=================
        ssh $host "source /etc/profile; $@"
done

echo ===========================================

3、修改权限

chmod 777 xcall

4、使用示例

[hadoop@bigdata01 ~]$ xcall jps
================ bigdata01=================
12131 Jps
10885 TaskManagerRunner
10251 StandaloneSessionClusterEntrypoint
================ bigdata02=================
6084 Jps
5882 TaskManagerRunner
================ bigdata03=================
4161 TaskManagerRunner
4287 Jps
===========================================

5、备注
当通过 SSH 直接执行命令时,不会加载用户的 ~/.bashrc 或 ~/.profile 文件,这可能导致环境变量不生效。所以脚本中ssh之后显示执行了 source /etc/profile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值