青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-162  評論-223  文章-30  trackbacks-0
腳本概述
   一般地,當(dāng)在目標(biāo)機(jī)器編譯安裝某個(gè)服務(wù)程序后,為了使服務(wù)能開機(jī)自啟動和關(guān)機(jī)自停止,則需要將其添加為系統(tǒng)服務(wù)。但不同的Linux系統(tǒng)管理服務(wù)的方法不同,如Ubuntu使用update-rc.d命令,而RedHat則使用chkconfig命令。因此為了能自動識別系統(tǒng)的類型,減少人工控制,編寫了一個(gè)簡單的autosrv腳本,要求至少1個(gè)最多2個(gè)參數(shù),特點(diǎn)如下:
   ● 第1個(gè)參數(shù)只能為install或uninstall,表示安裝或卸載服務(wù)。
   ● 第2參數(shù)是可選的,表示系統(tǒng)名稱,如果沒有指定,那么會自動識別,若出現(xiàn)提示錯(cuò)誤,則表示應(yīng)該要顯式指定系統(tǒng)名稱了。

腳本實(shí)現(xiàn)
  1#! /bin/bash
  2# autosrv
  3
  4if [ $# -lt 1 ]; then
  5    echo "Usage: $(basename "$0") install | uninstall [sysname]"
  6    exit
  7elif [ "$1" != "install" -a "$1" != "uninstall" ]; then
  8    echo "The first parameter must be install or uninstall" 
  9    exit
 10fi
 11
 12action=$1
 13sysname=$2
 14srv_path=/etc/init.d/srv_name
 15
 16if [ -z "$sysname" ]; then
 17    sysname=`lsb_release -a | sed -n '2p' | awk '{if($0~/[Uu][Bb][Uu][Nn][Tt][Uu]/) print "ubuntu"; else if($0~/[Dd][Ee][Bb][Ii][Aa][Nn]/) print "debian"; else if($0~/[Rr][Ee][Dd][Hh][Aa][Tt]/) print "redhat"; else if($0~/[Cc][Ee][Nn][Tt][Oo][Ss]/) print "centos"; else print ""}'`
 18    if [ -z "$sysname" ]; then
 19        echo "Unknown system, please manual special it with the second parameter"
 20        exit
 21    fi
 22    echo "Current system is $sysname"
 23fi
 24
 25create_file_ubuntu_debian()
 26{
 27cat << END > $srv_path
 28#! /bin/bash
 29. /lib/lsb/init-functions
 30
 31END
 32cat srv_name.body >> $srv_path
 33}
 34
 35create_file_redhat_centos()
 36{
 37cat << END > $srv_path
 38#! /bin/bash
 39#chkconfig:2345 90 10
 40#description: srv name
 41
 42. /etc/rc.d/init.d/functions
 43
 44END
 45cat srv_name.body >> $srv_path
 46}
 47
 48chmod_file()
 49{
 50    chmod u+x $srv_path
 51}
 52
 53remove_file()
 54{
 55    rm -f $srv_path
 56}
 57
 58install_ubuntu_debian()
 59{
 60    create_file_ubuntu_debian
 61    chmod_file
 62    update-rc.d srv_name defaults 90 10
 63}
 64
 65uninstall_ubuntu_debian()
 66{
 67    update-rc.d -f srv_name remove
 68    remove_file
 69}
 70
 71install_redhat_centos()
 72{
 73    create_file_redhat_centos
 74    chmod_file
 75    chkconfig --add srv_name
 76}
 77
 78uninstall_redhat_centos()
 79{
 80    chkconfig --del srv_name
 81    remove_file
 82}
 83
 84case "$sysname" in
 85    ubuntu|debian)
 86    if [ "$action" = "install" ]; then
 87        install_ubuntu_debian
 88    else
 89        uninstall_ubuntu_debian
 90    fi
 91    ;;
 92
 93    redhat|centos)
 94    if [ "$action" = "install" ]; then
 95        install_redhat_centos
 96    else
 97        uninstall_redhat_centos
 98    fi
 99    ;;
100
101    *)
102    echo "Currently only support ubuntu, debian, redhat and centos system"
103    exit
104    ;;
105esac
   從上可知,自動識別的方法是獲取lsb_release -a返回的文本再使用awk來匹配ubuntu,redhat,debian,centos這幾個(gè)子串(忽略大小寫)。要注意的是,返回的文本可能有所不同。

   當(dāng)系統(tǒng)安裝了LSB模塊時(shí),返回結(jié)果如下
   

   沒有安裝時(shí),返回結(jié)果如下
   
   無論哪種情況,要提取分析的都是第2行文本,因此使用了sed -n '2p'。srv_name.body是不同系統(tǒng)相同的用于生成最終服務(wù)腳本的部分代碼文件,通常包含了start,stop,status,restart幾個(gè)函數(shù),只是沒有包含前面的一部分,而這部分則由autosrv腳本來根據(jù)不同的系統(tǒng)生成不同的代碼。
posted on 2014-01-03 17:11 春秋十二月 閱讀(1982) 評論(1)  編輯 收藏 引用 所屬分類: System

評論:
# re: shell應(yīng)用(5): 自動生成并安裝服務(wù)腳本 2014-01-03 21:23 | 梁.兄
不錯(cuò),看來你linux熟很多了  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美激情诱惑| 欧美日韩在线亚洲一区蜜芽| 美女精品网站| 模特精品在线| 亚洲国产精品激情在线观看| 蜜桃伊人久久| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美中文字幕不卡| 久久亚洲色图| 亚洲人成精品久久久久| 亚洲一区二区三区免费观看| 久久国产精品久久久久久久久久| 卡一卡二国产精品| 欧美日韩免费在线视频| 国产夜色精品一区二区av| 亚洲第一视频网站| 亚洲视频欧美在线| 久久久五月婷婷| 亚洲人成在线免费观看| 亚洲欧美视频在线观看| 欧美第一黄色网| 国产精品婷婷午夜在线观看| 亚洲二区在线观看| 亚洲欧美偷拍卡通变态| 亚洲成色777777女色窝| 亚洲中字在线| 欧美日韩成人| 最新精品在线| 久久国产精品99国产精| 亚洲精品综合精品自拍| 久久这里只有| 国产一区二区三区av电影| 一区二区日韩伦理片| 蜜臀久久99精品久久久久久9| 亚洲午夜高清视频| 欧美精品久久99| 亚洲国产精品激情在线观看| 久久福利影视| 亚洲综合精品自拍| 欧美日韩一区二区三区四区五区 | 亚洲精品国产品国语在线app| 午夜免费日韩视频| 欧美性视频网站| 日韩视频一区二区| 欧美阿v一级看视频| 性欧美1819性猛交| 国产欧美日韩在线| 性伦欧美刺激片在线观看| 亚洲最新色图| 欧美三级午夜理伦三级中视频| 亚洲国产欧美日韩精品| 快播亚洲色图| 久久综合给合| 在线看片第一页欧美| 久久亚洲欧美| 蜜臀久久99精品久久久画质超高清| 国产自产在线视频一区| 欧美专区日韩专区| 欧美亚洲免费电影| 国产亚洲亚洲| 免费成人你懂的| 久久香蕉精品| 亚洲人成人99网站| 最新成人av网站| 欧美日韩国产首页| 亚洲主播在线| 午夜在线观看欧美| 国户精品久久久久久久久久久不卡 | 国产精品呻吟| 久久天天狠狠| 免费精品视频| 亚洲美女淫视频| 99国产精品国产精品久久| 欧美色图首页| 久久久久久自在自线| 久久在线免费视频| 夜夜爽99久久国产综合精品女不卡| 亚洲精品孕妇| 国产欧美日韩综合一区在线观看| 久久xxxx| 欧美韩日一区二区三区| 午夜精品久久久久久久99热浪潮| 午夜免费久久久久| 亚洲欧洲精品一区二区三区不卡| 亚洲精品久久| 国产午夜精品全部视频播放 | 另类图片综合电影| 欧美精品一卡二卡| 欧美在线网站| 欧美激情国产高清| 久久精品国产亚洲aⅴ| 欧美电影资源| 久久久久久有精品国产| 欧美片网站免费| 久久久精品五月天| 欧美母乳在线| 久久这里只有| 一本色道久久加勒比精品| 先锋影院在线亚洲| 久久香蕉国产线看观看av| 亚洲视频在线观看视频| 欧美在线视频导航| 一区二区av在线| 久久久久久尹人网香蕉| 亚洲综合色婷婷| 欧美成在线视频| 另类尿喷潮videofree| 国产精品久久久久久久久久久久| 另类成人小视频在线| 国产美女诱惑一区二区| 亚洲精品在线视频| 亚洲精美视频| 噜噜噜91成人网| 久久亚洲影音av资源网| 国产精品久久久久久亚洲毛片| 亚洲福利视频在线| 伊人天天综合| 欧美一级大片在线免费观看| 亚洲午夜精品国产| 欧美久久久久久久| 亚洲电影毛片| 亚洲精品日韩激情在线电影 | 欧美日韩精品一本二本三本| 另类激情亚洲| 伊人久久久大香线蕉综合直播| 亚洲欧美日韩一区二区三区在线观看| 一区二区日韩伦理片| 欧美电影免费网站| 亚洲国产成人久久综合| 亚洲成人影音| 免费精品99久久国产综合精品| 久热精品视频在线| 伊人久久婷婷| 浪潮色综合久久天堂| 免播放器亚洲一区| 在线日韩中文| 免费短视频成人日韩| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲视频在线一区| 亚洲综合另类| 国产欧美三级| 久久精品视频免费| 欧美激情视频一区二区三区免费| 在线观看亚洲专区| 欧美激情精品久久久久久黑人| 欧美黄污视频| 亚洲一区免费网站| 国产伦精品一区二区三区高清版 | 亚洲高清视频中文字幕| 久久伊人亚洲| 91久久精品美女| 亚洲欧美成人在线| 极品尤物久久久av免费看| 葵司免费一区二区三区四区五区| 亚洲国产日韩欧美综合久久| 日韩午夜三级在线| 国产精品免费视频观看| 亚洲欧美99| 久久精品二区| 欧美激情四色| 亚洲一品av免费观看| 国产精品久久久久久妇女6080| 亚洲一区二区三区欧美| 久久综合图片| 这里只有精品视频在线| 国产欧美日韩在线播放| 另类图片国产| 亚洲一区二区精品在线| 美女国产一区| 亚洲自拍三区| 亚洲福利小视频| 国产精品免费网站| 麻豆成人在线播放| 亚洲一区二区三区四区视频| 美日韩丰满少妇在线观看| 中文精品在线| 亚洲国产美女| 国产一区二区三区久久 | 欧美成人免费播放| 亚洲免费视频一区二区| 亚洲成色精品| 久久久亚洲午夜电影| 亚洲主播在线| 亚洲九九精品| 国内精品伊人久久久久av影院| 欧美激情欧美激情在线五月| 欧美在线视频免费| 亚洲图片在线| 亚洲日本成人| 亚洲大黄网站| 老司机aⅴ在线精品导航| 亚洲欧美日韩中文视频| 日韩小视频在线观看专区| 国内成人自拍视频| 国产乱人伦精品一区二区 | 牛牛国产精品| 久久人人看视频| 欧美在线观看日本一区| 亚洲一区亚洲| 亚洲欧美日韩直播|