真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Shell如何操作開發(fā)企業(yè)級服務(wù)啟動腳本

本文主要給大家介紹Shell如何操作開發(fā)企業(yè)級服務(wù)啟動腳本,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下Shell如何操作開發(fā)企業(yè)級服務(wù)啟動腳本吧。 

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、做網(wǎng)站、德欽網(wǎng)絡(luò)推廣、小程序開發(fā)、德欽網(wǎng)絡(luò)營銷、德欽企業(yè)策劃、德欽品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供德欽建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

說明:

MySQL啟動命令為:

/bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 >/dev/null &

停止命令邏輯腳本為:

mysqld_pid=`cat "$mysqld_pid_file_path"`
if (kill -0 $mysqld_pid 2>/dev/null)
  then
    kill $mysqld_pid
    sleep 2
fi

請完成MySQL啟動腳本的編寫,并實(shí)現(xiàn)可以使用chkconfig配置開機(jī)自啟動。

要求:用函數(shù),case語句、if語句等實(shí)現(xiàn)。

Shell如何操作開發(fā)企業(yè)級服務(wù)啟動腳本

解答:此題的技巧適合絕大多數(shù)啟動腳本,例如:rsync,nginx等,僅以MySQL為例介紹思路。

簡單、易用、高效、專業(yè)

#!/bin/bash
# chkconfig: 2345 64 36
# description: MySQL startup
# Author:oldboy
# Blog:http://oldboy.blog.51cto.com
# Time:2017-07-07 09:24:34
# Name:mysqld
# Version:V1.0
# Description:This is a test script.
[ -f /etc/init.d/functions ] && source /etc/init.d/functions
bindir="/application/mysql/bin"
datadir="/application/mysql/data"
mysqld_pid_file_path="/application/mysql/`hostname`.pid"
PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin" #此步對開機(jī)啟動及定時(shí)啟動及其關(guān)鍵。
export PATH
return_value=0


# Lock directory.
lockdir='/var/lock/subsys'
lock_file_path="$lockdir/mysql"

log_success_msg(){ 
    echo " SUCCESS! $@" # 注意函數(shù)的縮進(jìn),下同,也是專業(yè)的表現(xiàn),可放到functions里。
}   
log_failure_msg(){     
    echo " ERROR! $@"
}  

# Start Func
start(){
    # Start daemon
    echo "Starting MySQL"
    if test -x $bindir/mysqld_safe  # 啟動文件是否可執(zhí)行。
    then
        $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path"  >/dev/null &
        return_value=$? # 是否處理好返回值是區(qū)別腳本是否專業(yè)規(guī)范的關(guān)鍵。
        sleep 2

        # Make lock for CentOS
        if test -w "$lockdir"   # 鎖目錄是否可寫。
        then
            touch "$lock_file_path"  # 創(chuàng)建鎖文件。
        fi
        exit $return_value
    else
        log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"
    fi
}
# Stop Func
stop(){
    if test -s "$mysqld_pid_file_path" # 是否PID文件存在并大小大于0。
    then
        mysqld_pid=`cat "$mysqld_pid_file_path"`

        if (kill -0 $mysqld_pid 2>/dev/null) # 檢查PID對應(yīng)的進(jìn)程是否存在。
        then
            echo "Shutting down MySQL"
            kill $mysqld_pid  # 不能帶-9,否則后果自負(fù)。
            return_value=$?
            sleep 2
        else
            log_failure_msg "MySQL server process #$mysqld_pid is not running!"
            rm -f "$mysqld_pid_file_path"
        fi
        # Delete lock for Oldboy's CentOS
        if test -f "$lock_file_path"
        then
            rm -f "$lock_file_path"
        fi
        exit $return_value
    else
        log_failure_msg "MySQL server PID file could not be found!"
    fi
}
case "$1" in
    start)            
        start
        ;;
    stop)
        stop
        ;;
    restart)
        if $0 stop; then
           $0 start
        else
           log_failure_msg "Failed to stop running server, so refusing to try to start."
           exit 1
        fi
        ;;

    *)
        echo "Usage: $0  {start|stop|restart}"
        exit 1
esac
exit $return_value #是否處理好返回值是區(qū)別腳本是否專業(yè)規(guī)范的關(guān)鍵。

看完以上關(guān)于Shell如何操作開發(fā)企業(yè)級服務(wù)啟動腳本,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。


名稱欄目:Shell如何操作開發(fā)企業(yè)級服務(wù)啟動腳本
網(wǎng)頁地址:http://weahome.cn/article/iihhed.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部