91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Shell如何操作開發企業級服務啟動腳本

發布時間:2020-05-07 14:30:50 來源:億速云 閱讀:241 作者:三月 欄目:MySQL數據庫

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

說明:

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啟動腳本的編寫,并實現可以使用chkconfig配置開機自啟動。

要求:用函數,case語句、if語句等實現。

Shell如何操作開發企業級服務啟動腳本

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

簡單、易用、高效、專業

#!/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" #此步對開機啟動及定時啟動及其關鍵。
export PATH
return_value=0


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

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

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

        # Make lock for CentOS
        if test -w "$lockdir"   # 鎖目錄是否可寫。
        then
            touch "$lock_file_path"  # 創建鎖文件。
        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對應的進程是否存在。
        then
            echo "Shutting down MySQL"
            kill $mysqld_pid  # 不能帶-9,否則后果自負。
            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 #是否處理好返回值是區別腳本是否專業規范的關鍵。

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博湖县| 鲁山县| 澄迈县| 天峻县| 习水县| 龙陵县| 遵义市| 贵南县| 石门县| 汉阴县| 阳朔县| 繁昌县| 富锦市| 宜川县| 洞口县| 吉林省| 祁连县| 山阴县| 渝中区| 沛县| 华宁县| 邢台市| 松滋市| 紫云| 宿迁市| 浦县| 凭祥市| 祥云县| 海城市| 宁城县| 关岭| 呼图壁县| 民和| 永定县| 武陟县| 枣庄市| 齐齐哈尔市| 禹城市| 长泰县| 九江市| 兴海县|