Linux中的xcall、xsync脚本等操作
在学习Kafka集群启停脚本中,需要写一个kf.sh脚本,但是此前我的环境中没有xcall,xsync等脚本。因此我查询了一些博客,最后解决了问题。建议先创建xsync的脚本,之后再创建xcall脚本。【创建xsync脚本】第一步、在/usr/local/bin目录下 创建xsync文件第二步、yum install rsync -y第三步、编辑xsync脚本vim xsync#!/bin/bas
·
在学习Kafka集群启停脚本中,需要写一个kf.sh脚本,但是此前我的环境中没有xcall,xsync等脚本。因此我查询了一些博客,最后解决了问题。
建议先创建xsync的脚本,之后再创建xcall脚本。
【创建xsync脚本】
第一步、在/usr/local/bin目录下 创建xsync文件
第二步、yum install rsync -y(三个节点都需要安装)
第三步、编辑xsync脚本
vim xsync
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in node01 node02 node03
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4. 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
第四步、修改权限
chmod 777 xsync
第五步、完成
【创建xcall脚本查看jps命令】
第一步、在/usr/local/bin目录下 创建xcall文件
vim xcall
#!/bin/bash
for host in node01 node02 node03
do
echo =============== $host ===============
ssh $host jps
done
第二步、修改权限
chmod 777 xcall
第三步、添加软连接(这步很重要!!)
ln -s /export/servers/jdk1.8.0_141/bin/jps jps
第四步、集群分发
[root@node01 local]# xsync xcall jps
第五步、测试
更多推荐
已为社区贡献3条内容
所有评论(0)