<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                在編寫流程部署文件時,大部分部署功能都應在腳本中實現,腳本先驗證部署通過后,再放到部署工具中使用。部署腳本在linux中使用shell編寫,windows中使用bat腳本編寫。具體shell及bat的語法不在這里介紹(讀者請自己學習)。下面是linux下安裝mysql的腳本示例: ```shell #!/bin/bash #安裝mysql BASE_DIR=$(dirname $(pwd)) MYSQL_HOME=${BASE_DIR}/software/mariadb COMMON_HOME=${BASE_DIR}/install/scripts/linux/common db_password=$1 AUTO_RUN_FILE=${MYSQL_HOME}/support-files/mysql.server AUTO_RUN_FILE_NAME=mysqld #安裝mysql的依賴包 if [[ $MYSQLDB_HAS_INSTALL != "y" ]];then #1.安裝依賴 yum install -y cmake gcc gcc-c++ ncurses ncurses-devel openssl openssl-devel perl #2.創建mysql用戶,查看是否有mysql用戶,沒有則創建 grep mysql /etc/passwd &>/dev/null if [ "$?" -ne 0 ];then useradd mysql fi #授權mysql用戶的mysql目錄權限 chown -R mysql:mysql ${MYSQL_HOME} #3.創建數據庫文件 echo -n "正在安裝mysql數據庫....." cd ${MYSQL_HOME} && ./scripts/mysql_install_db --defaults-file=${MYSQL_HOME}/my.cnf &>/dev/null & while true do ps -ef | grep -w mysql_install_db | grep -v "grep" &>/dev/null if [ "$?" -ne 0 ];then echo "[ok]" break else echo -n "....." sleep "0.5" fi done #啟動mysql cd ${MYSQL_HOME} && ./bin/mysqld_safe --defaults-file=${MYSQL_HOME}/my.cnf &>/dev/null & echo -n "正在啟動mysql" while true do if [ ! -e ${MYSQL_HOME}/var/mysqld.pid ];then echo -n "........" sleep "0.5" else break fi done echo "[ok]" #開機自啟動 \cp -f ${MYSQL_HOME}/my.cnf /etc/my.cnf bash ${COMMON_HOME}/set_auto_start.sh ${AUTO_RUN_FILE} ${AUTO_RUN_FILE_NAME} # Update root passwd CMD_MYSQL="${MYSQL_HOME}/bin/mysql -uroot -S ${MYSQL_HOME}/var/mysql.sock" $CMD_MYSQL -e "use mysql; delete from mysql.user where user='';" $CMD_MYSQL -e "use mysql; update user set password=password('${db_password}') where user='root'" $CMD_MYSQL -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${db_password}'"; $CMD_MYSQL -e "flush privileges;"; echo "安裝mysql數據庫完成" #標記mysql數據庫為已安裝 export MYSQLDB_HAS_INSTALL=y fi ``` 由示例可見,一般執行腳本,都建議先定位到部署目錄,然后基于部署目錄設置相應的操作目錄,額外的參數可通過xml流程配置中輸入。其它的就是普通腳本編寫了。腳本編寫完成后,可統一放到scripts目錄下,并按模塊分目錄,便于查找即可。 注意: > * windows下bat腳本,使用`%~dp0`定位當前bat的目錄。 > * linux下shell腳本,使用` $(pwd)`定位運行部署工具(deploy-tool.jar)的sh文件所在位置(即install目錄)。因此獲取部署目錄,使用`$(dirname $(pwd))`即可。 > * linux下若使用sh文件A調用另外一個sh文件B,而sh文件B是使用`ps|grep|awk`獲取進程號(以便進行kill操作),會有子Shell的(臨時)進程的問題,導致獲取的進程號不正確。需要對文件A與文件B進行子進程過濾。如可使用``PID=`ps aux|grep -v grep|grep -v A|grep -v B|awk '{print $2}'` ``。其中A及B是文件名。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看