濮阳杆衣贸易有限公司

主頁 > 知識庫 > Shell腳本實現(xiàn)批量生成nagios配置文件

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

熱門標(biāo)簽:電銷機器人 劍魚 地圖標(biāo)注輻射圖案 衛(wèi)星地圖標(biāo)注地名 奧維互動地圖標(biāo)注參數(shù) 聯(lián)通電話機器人怎么接 寧波智能外呼系統(tǒng)公司 曲阜400電話辦理 安裝外呼系統(tǒng)費用 申請公司400電話要注意什么

如果管理的站點和服務(wù)器較多的情況下,每次修改配置文件都相當(dāng)痛苦。因而想到了用shell腳本來批量生成配置文件和配置數(shù)據(jù)。下面這個腳本是為了批量生成nagios監(jiān)控配置文件的一個shell腳本程序。其原理是事先定義一個shell腳本模板,然后每個需要監(jiā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、站點列表文件weblist.txt

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

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

weblist.txt有兩個field,第一個field為域名,第二個field為站點對應(yīng)的url。如第一個域名為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},說到底是sed命令的功勞。將weblist.txt里面的內(nèi)容替換掉模板里的WEBURL和INDEX變量。

4、調(diào)用方式

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

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

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

sh ./create.sh weblist.txt

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

您可能感興趣的文章:
  • Shell腳本實現(xiàn)批量替換文件內(nèi)容
  • 使用Linux shell腳本實現(xiàn)FTP定時執(zhí)行批量下載指定文件
  • Shell腳本批量修改文件后綴名代碼分享
  • Shell腳本批量重命名文件后綴的3種實現(xiàn)
  • shell腳本中使用iconv實現(xiàn)批量文件轉(zhuǎn)碼的代碼分享
  • Shell腳本遍歷目錄并批量修改文件編碼
  • linux下采用shell腳本實現(xiàn)批量為指定文件夾下圖片添加水印的方法
  • 使用iconv批量改變文件編碼的shell腳本
  • 批量轉(zhuǎn)換目錄下文件編碼的shell腳本代碼
  • Shell腳本之文件批量創(chuàng)建與修改的簡單方法

標(biāo)簽:安康 上饒 大慶 遵義 江西 大興安嶺 仙桃 三門峽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本實現(xiàn)批量生成nagios配置文件》,本文關(guān)鍵詞  Shell,腳本,實現(xiàn),批量,生成,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell腳本實現(xiàn)批量生成nagios配置文件》相關(guān)的同類信息!
  • 本頁收集關(guān)于Shell腳本實現(xiàn)批量生成nagios配置文件的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    格尔木市| 缙云县| 香格里拉县| 嵊州市| 夏津县| 邹城市| 安义县| 汨罗市| 新郑市| 漳州市| 扎赉特旗| 遵义市| 固阳县| 乐业县| 怀安县| 邵阳县| 临沧市| 平阳县| 进贤县| 荔波县| 佛学| 富裕县| 虞城县| 霞浦县| 渝中区| 安国市| 莫力| 绥阳县| 宿松县| 垣曲县| 通道| 任丘市| 横山县| 弥勒县| 化州市| 思茅市| 田林县| 昌图县| 凭祥市| 绩溪县| 松滋市|