欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell腳本實(shí)現(xiàn)批量生成nagios配置文件

 更新時(shí)間:2015年07月10日 09:02:59   投稿:junjie  
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)批量生成nagios配置文件,本文使用配置文件模板加上文件替換的方法實(shí)現(xiàn)批量生成配置文件,需要的朋友可以參考下

如果管理的站點(diǎn)和服務(wù)器較多的情況下,每次修改配置文件都相當(dāng)痛苦。因而想到了用shell腳本來(lái)批量生成配置文件和配置數(shù)據(jù)。下面這個(gè)腳本是為了批量生成nagios監(jiān)控配置文件的一個(gè)shell腳本程序。其原理是事先定義一個(gè)shell腳本模板,然后每個(gè)需要監(jiān)控的站點(diǎn)復(fù)制一份模板替換掉模板文件里面的變量。

1、準(zhǔn)備模板文件webcheck.template

more webcheck.template 

###################WEBURL define start###################
define service{
    use               generic-service     ; Name of service template to use
    host_name            webcheck
    service_description       WEBURL
    check_command      check_webpage!-H WEBURL -u INDEX
    is_volatile 0
    max_check_attempts 3
    check_interval 1
    retry_interval 1
    check_period 24x7
    notification_interval 5
    notification_period 24x7
    notification_options w,u,r,c
    contact_groups admins
    }
###################WEBURL define end###################

變量為WEBURL和INDEX

2、站點(diǎn)列表文件weblist.txt

復(fù)制代碼 代碼如下:

www.aaa.com \\/
bbs.bbb.com \\/
www.ccc.com \\/

weblist.txt有兩個(gè)field,第一個(gè)field為域名,第二個(gè)field為站點(diǎn)對(duì)應(yīng)的url。如第一個(gè)域名為www.aaa.com/

3、批量生成腳本文件create.sh

[root@bogon webcheckes]# more create.sh 
#!/bin/bash 

PATH=/bin:$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin 
export PATH
#echo $PATH

usage () { 
    echo -en "USAGE: $0 [web list] or $0 [template] [web list]\nFor example: $0 host.template host.list(Field : [WEB URL] [INDEX WEB PAGE])\n" 1>&2 
    exit 1 
} 
 
if [ $# -gt 2 ];then 
    usage 
    exit 1 
fi 
 
case "$#" in 
    2) 
        template=$1 
        host_list=$2 
    ;; 
    1) 
        template='webcheck.template' 
        host_list=$1 
    ;; 
    0) 
    #    template='webcheck.template' 
    #    host_list='host.list' 
        usage 
    ;; 
esac 
 
if [ ! -f "${template}" ];then 
    echo "template : ${template} not exist!" 1>&2 
    exit 1 
fi 
 
if [ ! -f "${host_list}" ];then 
    echo "host list : ${host_list} not exist!" 1>&2 
    exit 1 
fi 
 
#echo $PWD/${host_list}
WEBTEMP="wcalltemp.txt"
rm $PWD/${WEBTEMP}
#cat $PWD/${host_list}
/bin/cat $PWD/${host_list}| 
while read weburl index
do 
    #echo "${ip}"|grep -oP '^\d{1,3}(\.\d{1,3}){3}$' >/dev/null 2>&1 || Field='not ip' 
    #if [ "${Field}" = 'not ip' ];then 
    #    echo "${ip} not ip!" 1>&2 
    #    exit 1 
    #fi 
    #host_cfg="${hostname}-${ip}.cfg" 
    tmppage="webtemp.txt"
    cp ${template} ${tmppage} 
    sed -i "s/WEBURL/${weburl}/g;s/INDEX/${index}/g" ${tmppage}
    /bin/cat ${tmppage}>>${WEBTEMP} 
done
/bin/cat webcheck_org.template>webcheck_${host_list}.cfg
/bin/cat ${WEBTEMP}>>webcheck_${host_list}.cfg
rm $PWD/${WEBTEMP}

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

service nagios restart

起作用的主要是這句,sed -i "s/WEBURL/${weburl}/g;s/INDEX/${index}/g" ${tmppage},說(shuō)到底是sed命令的功勞。將weblist.txt里面的內(nèi)容替換掉模板里的WEBURL和INDEX變量。

4、調(diào)用方式

復(fù)制代碼 代碼如下:

sh ./create.sh webcheck.template weblist.txt

  或者
復(fù)制代碼 代碼如下:

sh ./create.sh weblist.txt

  如果存在大量需要手工修改配置文件的情況下,或者批量生成一些類(lèi)似的文件時(shí)可以考慮采用此種方式。

相關(guān)文章

  • 獲取站點(diǎn)的各類(lèi)響應(yīng)時(shí)間(dns解析時(shí)間,響應(yīng)時(shí)間,傳輸時(shí)間)

    獲取站點(diǎn)的各類(lèi)響應(yīng)時(shí)間(dns解析時(shí)間,響應(yīng)時(shí)間,傳輸時(shí)間)

    有時(shí)候?yàn)榱藴y(cè)試網(wǎng)絡(luò)情況,需要返回每個(gè)階段的耗時(shí)時(shí)間,比如DNS解析耗時(shí),建立連接所消耗的時(shí)間,從建立連接到準(zhǔn)備傳輸所使用的時(shí)間,從建立連接到傳輸開(kāi)始所使用的時(shí)間,整個(gè)過(guò)程耗時(shí),下載的數(shù)據(jù)量,下載速度,上傳數(shù)據(jù)量,上傳速度等等
    2014-03-03
  • 關(guān)于Linux反空閑設(shè)置的兩種方法總結(jié)

    關(guān)于Linux反空閑設(shè)置的兩種方法總結(jié)

    下面小編就為大家?guī)?lái)一篇關(guān)于Linux反空閑設(shè)置的兩種方法總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • shell sleep睡眠命令的具體使用

    shell sleep睡眠命令的具體使用

    本文主要介紹了shell sleep睡眠命令的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • rm -rf之后磁盤(pán)空間沒(méi)有釋放的解決方法

    rm -rf之后磁盤(pán)空間沒(méi)有釋放的解決方法

    本文主要介紹了rm -rf之后磁盤(pán)空間沒(méi)有釋放的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 詳解Linux 中五個(gè)重啟命令

    詳解Linux 中五個(gè)重啟命令

    這篇文章給大家介紹了linux中的五個(gè)重啟命名及重啟命令的具體說(shuō)明,需要的朋友參考下吧
    2017-03-03
  • shell一鍵部署Zabbix的實(shí)現(xiàn)步驟

    shell一鍵部署Zabbix的實(shí)現(xiàn)步驟

    本文主要介紹了shell一鍵部署Zabbix的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • linux下防火墻開(kāi)啟某個(gè)端口號(hào)及防火墻常用命令使用(詳解)

    linux下防火墻開(kāi)啟某個(gè)端口號(hào)及防火墻常用命令使用(詳解)

    下面小編就為大家?guī)?lái)一篇linux下防火墻開(kāi)啟某個(gè)端口號(hào)及防火墻常用命令使用(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • centos 設(shè)置定時(shí)任務(wù)執(zhí)行指定腳本的方法

    centos 設(shè)置定時(shí)任務(wù)執(zhí)行指定腳本的方法

    下面小編就為大家?guī)?lái)一篇centos 設(shè)置定時(shí)任務(wù)執(zhí)行指定腳本的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • Shell腳本實(shí)現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問(wèn)題)

    Shell腳本實(shí)現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問(wèn)題)

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問(wèn)題),本文給出3個(gè)Shell腳本和一個(gè)Python腳本解決亂序排列文件內(nèi)容問(wèn)題,需要的朋友可以參考下
    2015-01-01
  • Shell條件語(yǔ)句(條件測(cè)試、if語(yǔ)句、case語(yǔ)句)

    Shell條件語(yǔ)句(條件測(cè)試、if語(yǔ)句、case語(yǔ)句)

    本文主要介紹了Shell條件語(yǔ)句(條件測(cè)試、if語(yǔ)句、case語(yǔ)句),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論