📂linux
🔖linux
2022-11-21 00:19阅读: 610评论: 0推荐: 0

linux命令多服务器分发执行【xcall】

前言:

  1. linux服务器/usr/local/sbin目录,一般是用户自己安装软件后的命令所在目录。将命令放在此处可以在linux中任意位置执行,相当于自动添加了全局变量,所以将xcall放入此处较为合适。
  2. 各个服务器需提前添加ssh互信
  3. 本命令分发脚本用法:
    1)在任意目录输入:xcall 命令即可在配置的服务器执行
    2)会自动进入用户,执行命令的所在目录,执行命令
    3)如果有输出,会将输出打印到控制台

按顺序执行以下命令

  • 进入用户软件安装命令目录
    cd /usr/local/sbin
  • 创建xcall命令,也可直接复制脚本内容直接vim并添加到里面
    touch xcall
  • 添加可执行权限
    chmod 710 xcall
  • 将以下内容添加到xcall中
#!/bin/bash

file_name='xcall-server.list'
cmd_str=$1

pwdstr=$(pwd)
serverListPath=$(dirname $0)
cd $pwdstr
serverlist_file="$serverListPath/$file_name"

if [ ! -e $serverlist_file ] ; then
    echo "xcall-server.list not exist, whole path is $serverlist_file";
    exit 0;
fi

while read line
do
    if [ -n "$line" ] ; then
        echo "DOING --->" $line "<---"
        ssh root@$line "cd $pwdstr;$@" < /dev/null
    fi
done < $serverlist_file
  • 在当前目录下新建文件,添加执行的服务器列表
    touch /usr/local/sbin/xcall-server.list
  • 执行以下命令
cat >> /etc/hosts << EOF
192.168.1.11
192.168.1.21
192.168.1.22
EOF

本文作者:无畏D尘埃

本文链接:https://www.cnblogs.com/yangche/p/16910121.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   无畏D尘埃  阅读(610)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.