最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文章

  • Linux 中的gunzip命令

    Linux 中的gunzip命令

    gunzip是個(gè)使用廣泛的解壓縮程序,它用于解開(kāi)被gzip壓縮過(guò)的文件,這些壓縮文件預(yù)設(shè)最后的擴(kuò)展名為.gz。下面通過(guò)本文給大家分享Linux 中的gunzip命令,一起看看吧
    2017-09-09
  • Cygwin下安裝vim后,vim中退格鍵無(wú)法正常使用的解決方法

    Cygwin下安裝vim后,vim中退格鍵無(wú)法正常使用的解決方法

    下面小編就為大家?guī)?lái)一篇Cygwin下安裝vim后,vim中退格鍵無(wú)法正常使用的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • Shell腳本中$符號(hào)的嵌套使用方法小結(jié)

    Shell腳本中$符號(hào)的嵌套使用方法小結(jié)

    在編寫(xiě)Shell腳本時(shí),通過(guò)嵌套使用$符號(hào),間接獲取變量或表達(dá)式的值的具體方法,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-05-05
  • Linux Shell 腳本編程入門(mén)教程

    Linux Shell 腳本編程入門(mén)教程

    Linux的Shell種類(lèi)眾多,常見(jiàn)的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),Shell是用戶(hù)與Linux操作系統(tǒng)溝通的橋梁,對(duì)本文感興趣的朋友一起看看吧
    2015-11-11
  • Shell中的${}、##和%%使用范例

    Shell中的${}、##和%%使用范例

    這篇文章主要介紹了Shell中的${}、##和%%使用范例,本文給出了不同情況下得到的結(jié)果,需要的朋友可以參考下
    2015-04-04
  • 使用Linux shell腳本實(shí)現(xiàn)FTP定時(shí)執(zhí)行批量下載指定文件

    使用Linux shell腳本實(shí)現(xiàn)FTP定時(shí)執(zhí)行批量下載指定文件

    使用FTP定時(shí)批量下載指定文件的shell腳本,具體實(shí)例介紹如下所示,需要的朋友參考下吧
    2017-04-04
  • Shell?AWK編程的基本介紹和使用詳解

    Shell?AWK編程的基本介紹和使用詳解

    AWK可以看成一門(mén)獨(dú)立的語(yǔ)言,它擁有語(yǔ)言的基本特征,換句話(huà)說(shuō)AWK可以寫(xiě)出極其繁瑣和復(fù)雜的程序,AWK的語(yǔ)法比Shell的語(yǔ)法還難以接收,這篇文章主要介紹了Shell?AWK編程的介紹和基本使用,需要的朋友可以參考下
    2022-06-06
  • 使用find命令快速定位配置文件位置

    使用find命令快速定位配置文件位置

    大家知道在配置的時(shí)候咱們經(jīng)常需要修改配置文件,甚至現(xiàn)在的開(kāi)發(fā)就是配配配,記又記不住,每次自己查找太費(fèi)時(shí)間,最近學(xué)會(huì)了一個(gè)命令-find,現(xiàn)在分享以下,本文以nginx為例子給大家詳細(xì)介紹,對(duì)find命令定位配置文件位置相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-12-12
  • 使用shell腳本取出服務(wù)器圖片的方法

    使用shell腳本取出服務(wù)器圖片的方法

    Shell 腳本(shell script),是一種為 shell 編寫(xiě)的腳本程序。下面通過(guò)本文給大家介紹使用shell腳本取出服務(wù)器圖片的方法,需要的朋友參考下吧
    2017-12-12
  • 常用Linux Shell進(jìn)階部分小結(jié)

    常用Linux Shell進(jìn)階部分小結(jié)

    這篇文章主要介紹了常用Linux Shell進(jìn)階部分小結(jié),歡迎收藏,隨看隨記,需要的朋友可以參考下
    2015-07-07

最新評(píng)論

鹤峰县| 杭锦后旗| 蓬安县| 莎车县| 腾冲县| 遂平县| 宁海县| 彰化市| 奉新县| 兴化市| 海城市| 保德县| 天镇县| 丰宁| 三原县| 云林县| 万源市| 易门县| 龙山县| 连平县| 松溪县| 怀柔区| 大丰市| 马边| 石嘴山市| 西充县| 秦皇岛市| 江阴市| 怀集县| 石嘴山市| 开原市| 获嘉县| 沾化县| 秭归县| 荆门市| 临湘市| 唐河县| 栾城县| 黔西| 宝鸡市| 策勒县|