#!/bin/bash
#作者闫超
#可以理解为运维整合工具,加了函数可以理解为一个功能强大的运维整合命令

#hlep
if [ "$1" == help ]; then
       cat /opt/duoyongtu/help.txt
fi

#if [ "$1" == youhua ]; then
#       sh /opt/duoyongtu/youhua.sh
#fi

#添加新认证主机
if [ "$1" == addnewrenzheng ]; then
       sh /opt/duoyongtu/expect.sh
fi

#针对与web集群批量操作
if [ "$1" == jiquncaozuo ]; then
       cat /opt/duoyongtu/fuwuzu.txt|grep $2
       if [ "$?" == 0 ]; then
               a=`cat /opt/duoyongtu/$2.txt`
               if [ "$3" == loveweb ]; then
                               read -p "针对loverweb.conf文件的操作:" love2
                               for i in $a
                               do
                       #               if [ "$3" == loveweb ]; then
                                       #       read -p "针对loverweb.conf文件的操作:" love2
                                               love=`cat /opt/duoyongtu/loveweb.txt|grep -w $i|awk '{print $2}'`
                                               #echo $love
                                               for love1 in $love
                                               do
                                                       love3=`echo $love2 $love1`
                                                       ssh $i $love3
                                                       sleep 10
                                                       echo $i $love3
                                               done
                               done
                       #               fi
               else
                       for i in $a
                       do
                       ssh $i "hostname"
                       ssh $i $3
                       done
               fi

       fi
fi


#添加新组
if [ "$1" == addgroup ]; then
       read -p "添加组名称:" b
       echo $b
       echo $b >> /opt/duoyongtu/fuwuzu.txt
       x=""
               while true
               do
                       read -p "添加组成员ip地址:" c
                       echo $c
                       if [ "$c" == q ]; then
                               break
                       else
                               echo $c |grep -oP '\d'
                               if [ "$?" -eq 0 ]; then
                                       echo $c >> /opt/duoyongtu/$b.txt
                               else
                                       echo $c不符合ip规则
                               fi
                       fi
               done
fi

#删除组
if [ "$1" == delgroup ]; then
       read -p "需要删除的组:" d
       cat /opt/duoyongtu/fuwuzu.txt|grep $d
       if [ "$?" -eq 0 ]; then
               sed -i '/'$d'/d' /opt/duoyongtu/fuwuzu.txt
               rm -f /opt/duoyongtu/$d.txt
       else
               echo 没有这个$d组
       fi
fi

#删除组中的ip地址
if [ "$1" == delip ]; then
       read -p "删除哪个组中的ip:" e
       read -p "需要删除的ip地址:" f
       sed -i '/'$f'/d' /opt/duoyongtu/$e.txt
       if [ "$?" -eq 0 ]; then
               echo 成功$f移除从$e组中
       fi
fi

#添加组中的ip
if [ "$1" == addip ]; then
       read -p "针对于哪个组添加ip:" g
       cat /opt/duoyongtu/fuwuzu.txt|grep $g
       if [ "$?" -eq 0 ]; then
               x=""
               while true
               do
                       read -p "添加ip为:" h
                       if [ "$h" == q ]; then
                               break
                       else
                               echo $h |grep -oP '\d'
                               if [ "$?" -eq 0 ]; then
                                       echo $h >> /opt/duoyongtu/$g.txt
                                       if [ "$?" -eq 0 ]; then
                                               echo $h添加到$g组中
                                       fi
                               else
                                       echo ip地址不符合规则,无法添加到$g组中
                               fi
                       fi
               done
       else
               echo 没有$g这个组

       fi

fi
#

#针对于单台服务器操作
if [ "$1" == one ]; then
       ssh $2 $3
fi

#上传
if [ "$1" == upload ]; then
       sh /opt/duoyongtu/upload.sh
fi



执行步骤

1.在fuwuzu.txt添加组

举例

在fuwuzu.txt中添加

yanchao

2.新建yanchao.txt文件

把ip添加到yanchao.txt中

3.执行命令

sh version1.sh jiquncaozuo yanchao "命令"