一鍵部署腳本

一鍵部署腳本

shell 腳本:

經常使用命令mysql

wget,tar,zip,
cd,ls,rm,cp,mkdir
echo,sed,ps,netstat
grep,awk,,wc,head,tail,exit
複製代碼

流程和注意事項

1. 參數的輸入

明確方法或者模塊的入參,通常入參是用戶須要本身填寫的參數。 例如:git

$./install.sh -P /data/root/test" 複製代碼

用戶須要執行行腳本install.sh,入餐分別是-P/data/root/testgithub

2. 用法檢查

檢測用戶的入參數,提示用戶怎麼用,好比說 ./install.sh -P /data/root/test 腳本說明:sql

if [ $# -lt 2 ]; then
    echo "Usage:"
    echo " ./install.sh -P /data/root/test"
    exit 1
fi

複製代碼
3. 讀取配置文件,獲取參數

讀取配置文件,解析配置文件的參數,檢查配置是否合理 假設使用的配置是test.inishell

$ cat test.ini
[mysql]
ip=127.0.0.1
port=3306
複製代碼
  • 讀取配置文件和參數
value=$(crudini --get $file $section $param)
mysql_ip=$($value "mysql" "ip")
複製代碼

經過上面能夠獲取mysql_ipbash

  • 檢查配置
function checkIp(){
    if [[ $ip =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
      exit 0
    else
      echo "fail"
      exit 1
    fi
}

function checkPort(){
    local port="$1"
    local -i port_num=$(to_int "${port}" 2>/dev/null)

    if (( $port_num < 1 || $port_num > 65535 )) ; then
        echo "*** ${port} is not a valid port" 1>&2
        exit 1
    fi
}
複製代碼
4. 拼接參數和安裝模塊
  • 若是有不一樣模塊安裝,用戶須要進行而且參數,並安裝其餘的模塊。
5. 編寫啓動腳本、中止腳本
  • 啓動服務腳本
  • 中止服務腳本
  • 監控腳本
6. 編寫監控腳本

經過crontab,進行服務的拉起。當中止腳本時,須要將crontab對應的job,進行移除。curl

7. 檢查服務腳本

編寫curl腳本,查看服務是否正常,以及檢查重要的接口是否正常運行。學習

8. 其餘
  • 統一處理控制檯輸出

更多

相關文章
相關標籤/搜索