首页 > 其他分享 >自动部署信息采集脚本

自动部署信息采集脚本

时间:2023-06-06 19:32:40浏览次数:46  
标签:脚本 部署 ip sh echo 采集 num path multipath

为了满足定制化需求,特对物理主机的多路径软件multipath服务和路径进行了脚本采集,并提供自动化部署路径。

1、多路径采集脚本

#!/bin/bash
#result include valid_num\invalid_num\
source /etc/profile

##获取ip地址
bond1=`ip address show dev bond1 | grep 172.29 | awk -F"/" '{print $1}' | awk '{print $2}' | head -1 | tr -d " "`
echo "####" ${bond1}
bond0=`ip address show dev bond0 | grep 172.29 | awk -F"/" '{print $1}' | awk '{print $2}' | head -1 | tr -d " "`

[[ -z $bond0 ]] && ip=$bond1 || ip=$bond0

#multipath -F
echo "ip:"$ip
res_name="/tmp/multipath_$ip"
date_str=`date +%Y-%m-%d_%H:%M`
echo "$date_str" > $res_name


os_multipath_check (){
        valid_num=`multipath -l | egrep "active .* running" | wc -l`
        invalid_num=`multipath -l | egrep "failed .* running" | wc -l`
        proc_num=`ps -ef | grep  multipathd | grep -v grep | wc -l`
        if [ "${proc_num}" -gt 0 ];then
                echo  "service_status=on" >> $res_name
        else
                echo  "service_status=off" >> $res_name
                exit
        fi
        if [ $valid_num != 0  ];then
                echo "Check multipathd_service Pass"
                echo "valid_path = $valid_num" >> $res_name
        else
                echo "valid_path = 0" >> $res_name
        fi
        if [ $invalid_num != 0 ];then
                echo "invalid_path = $invalid_num" >> $res_name
        else 
                echo "invalid_path = 0" >>  $res_name
        fi
}



###list all produce soft
##device-mapper-multipath
path_A="device-mapper-multipath"
##ZTE
path_B="multipath-ZTE"


which_path (){
        rpm_path=`rpm -qa | grep path`
        if [ $? -eq 0  ];then
                if [[ $rpm_path == $path_B*  ]];then
                        echo "multipath_soft is ZTE-multipath "
                        exit
                elif  [[ $rpm_path == $path_A*  ]];then
                        echo "multipath_soft is device-mapper-multipath "
                        os_multipath_check
                fi
        fi
}


which_path

上面主要功能是,使用multipath -ll 去查看多路径条目数。

2、执行结果

上面脚本执行后会在/tmp目录下多出一个带ip地址的执行结果文件:

自动部署信息采集脚本_自动部署

3、添加计划任务,每2分钟运行一次。

*/2 * * * * /bin/bash /tmp/multi.sh 

4、将以上过程汇总成脚本,实现自动下载,部署脚本,添加计划任务

上面汇总成的脚本放到一个可以下载的地方,如172.29.129.171的http服务下

#!/bin/bash

mul_file="multi.sh"
mul_nm="/tmp/multi.sh"
echo "### $mul_nm"
multipath_num=`rpm -qa device-mapper-multipath* | wc -l `
echo "$multipath_num"
if [ "${multipath_num}" -gt 0 ];then
    if [ -n "{$mul_nm}" ];then
         curl -o $mul_nm http://172.29.129.171/icons/multipath/multi.sh-0330  && chmod +x $mul_nm && (echo "*/2 * * * * /bin/bash $mul_nm " ; crontab -l )| crontab
         echo "get_crontab"
     else
         echo "no action"
     fi
else
    echo  "no"
fi

5、在客户端或要采集的主机上执行命令完成自动化部署

curl -o /tmp/get_multipath.sh http://172.29.129.171/icons/multipath/get_multipath.sh  && 
chmod +x /tmp/get_multipath.sh && cd /tmp/ &&
./get_multipath.sh && 
rm -rf  /tmp/get_multipath.sh

6、验证:

在计划任务中新增一条任务:每2分钟执行一次;

在客户端多出一个multi.sh脚本;

在客户端有脚本的执行结果文件;




标签:脚本,部署,ip,sh,echo,采集,num,path,multipath
From: https://blog.51cto.com/chier11/6427155

相关文章

  • 违禁词检测API - 私有化部署
    违禁词检测API,支持私有化部署,开箱即用,下载到本地直接运行,直接httpjson查询。下载地址https://github.com/bosnzt/wordscheckhttps://gitee.com/bosnzt/wordscheck运行下[root@localhostsvc]#chmod+xwordscheck[root@localhostsvc]#./wordscheckcurl试下效果[root@......
  • Jenkins自动部署与回滚
    Deploy发布的思路:用户无需填写Version 直接选择对应的项目和Deploy发布即可,会自动生成一个项目名+构建时间的备份文件多人使用Jenkins构建的时候会不知道Version要填什么 而且本人不喜欢使用Version这个变量Rollback回退的思路:选择Rollback 选择对应的回退版本......
  • 如何在centos7部署网站
    如何在centos7部署网站1.买服务器推荐阿里云试用三个月。2.安装数据库,Java,nginxjava安装教程https://www.youtube.com/watch?v=90-0dRxs1fs&ab_channel=LiquidWebmysql安装教程https://www.bilibili.com/video/BV1qS4y1h77S/nginx安装yuminstallnginx其他注意事项:修......
  • MariaDB Galera Cluster 部署
    MariaDBGaleraCluster部署介绍MariaDB作为MySQL的一个分支,在开源项目中已经广泛使用,例如openstack,所以,为了保证服务的高可用性,同时提高系统的负载能力,集群部署是必不可少的。1、MariaDBGaleraCluster介绍GaleraCluster是由第三方公司Codership所研发的一套免费开源的集......
  • PLC温度、电流和电压数据采集远程监控解决方案
    随着工控自动化技术的发展,可编程逻辑控制器PLC在各行各业中应用越来越广泛。在PLC控制的工业设备中,温度、电流和电压数据关系到设备运行的安全稳定,通过监控这些数据可以对设备运行状态进行判断、报警、管控及维护。因此,PLC数据采集物联网解决方案成为很多工厂和企业的关注重点。 ......
  • 为了拒绝 Windows 所有可移动存储类的权限,请使用以下批处理脚本
    为了拒绝Windows所有可移动存储类的权限,请使用以下批处理脚本:CopyCoderegadd"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR"/v"Start"/tREG_DWORD/d4/fregadd"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor&qu......
  • SMB 签章可以用于保护 SMB/TCP 协议传输的数据安全性,防止网络中的恶意用户或攻击者篡
    SMB签章可以用于保护SMB/TCP协议传输的数据安全性,防止网络中的恶意用户或攻击者篡改原始数据。要启用SMB签章,可以执行以下批处理脚本:CopyCode@echooffsetlocalrem启用SMB签章echoEnablingSMBsigning...regadd"HKLM\SYSTEM\CurrentControlSet\Services\Lanma......
  • 云原生之使用Docker部署Booksonic有声读物平台
    (云原生之使用Docker部署Booksonic有声读物平台)一、Booksonic介绍Booksonic是一个可以随时随地访问您拥有的有声读物的平台。二、检查docker状态[root@node~]#systemctlstatusdocker●docker.service-DockerApplicationContainerEngineLoaded:loaded(/usr/......
  • RocketMQ 脚本调优
    #!/bin/sh##ExecuteOnlyOnce#echo'vm.overcommit_memory=1'>>/etc/sysctl.confecho'vm.min_free_kbytes=5000000'>>/etc/sysctl.confecho'vm.drop_caches=1'>>/etc/sysctl.confecho'vm.zone_re......
  • Maven部署构件至远程仓库
    我们知道,Maven仓库包括本地仓库和远程仓库,而远程仓库又包括中央仓库,私服,Jboss仓库和Java.net仓库等。私服,即私有的仓库服务器,它不仅可以降低中央仓库负荷,节省外网带宽,还可以加速Maven构建,自己部署构件等,从而高效地使用Maven。对于私服,我们可以使用仓库管理软件来创建自己的私有仓......