中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

ansible 遠程服務管理-Java 應用啟動腳本;

發布時間:2020-04-06 22:15:35 來源:網絡 閱讀:1370 作者:breaklinux 欄目:系統運維

**1.背景; **

(1).實際運維過程中難免出現大規模通過運維批量工具類似于ansible 進行遠程管理服務,類似啟動java 環境應用

出現異常終止運行,無法運行;

?

**2.ansible 相關知識預熱;**

? (1).ansible 自動化運維工具屬于非交互式登陸方式進行機器管理--(默認不加載bash 和系統env 環境變量)

? (2).ansible 命令執行流程--->ansible master 執行--> 客戶端機器臨時家目錄路徑如:/home/ops/.ansible/tmp/?

? (3).如上目錄/home/ops/.ansible/tmp/AnsiballZ_command.py? 新增臨時py 文件然后執行py文件->清理生成臨時腳本;

? (4).ansible -vvv 查看執行過程;

? ?

**3.應用場景;**


(1).第三方外包項目提供shell 腳本通過我們發布系統進行發布-發布部署階段使用了ansible-playbook 進行,第三方提供腳本如下;

#!/bin/bash
APP_NAME="apie-0.0.1-SNAPSHOT.jar"
case?$1?in?
????start)
????????nohup?java?-Dfile.encoding=UTF-8?-jar?${APP_NAME}?--spring.config.location=application-apicenter.yml?--spring.profiles.active=none??&
????????echo?${APP_NAME}?start!
????????;;
????stop)????
????????ps?-ef|?grep?${APP_NAME}?|grep?-v?grep?|awk?'{print?$2}'??|?sed?-e?"s/^/kill?-9?/g"?|?sh?-?
????????echo?${APP_NAME}?stop!
????????;;
????restart)
????????"$0"?stop
????????sleep?3
????????"$0"?start
????????;;
????status)??ps?-aux?|?grep?${APP_NAME}?|?grep?-v?'grep'
????????;;
????log)
????case?$2?in
debug)
tail?-f?-n?${3-400}?logs/debug.log
;;
error)
tail?-f?-n?${3-400}?logs/error.log
;;
*)
echo?"Example:?services.sh?log?{debug|error}"?;;
esac
????????;;
????*)???????
????????echo?"Example:?services.sh?[start|stop|restart|status]"?;;
esac


(2).遠程執行腳本出現;

[ops@op ~]$ ansible -i 192.168.1.53, all -m shell -a "su - work -c '/chj/app/web_app/apiCenter/services-api.sh restart'" -b ?

172.21.204.53 | CHANGED | rc=0 >>

apiCenter-0.0.1-SNAPSHOT.jar stop!

apiCenter-0.0.1-SNAPSHOT.jar start!Error: Unable to access jarfile api-0.0.1-SNAPSHOT.jar

原因分析:

? ?1.ansible 執行腳本流程會在 /home/ops/.ansible/tmp/?目錄下找??apiCenter-0.0.1-SNAPSHOT.jar 發現沒有此文件 故報錯;?Unable to access jarfile api-0.0.1-SNAPSHOT.jar


(3).進行腳本改造;

#!/bin/bash
CURDIR=$(cd?$(dirname?${BASH_SOURCE[0]});?pwd?)??#如果第一條語句順利執行,就執行pwd顯示當前目錄,并將結果賦值給變量“DIR”?
cd?$CURDIR?
APP_NAME="apiCenter-0.0.1-SNAPSHOT.jar"
case?$1?in?
????start)
????????nohup?/usr/local/jdk/bin/java?-Dfile.encoding=UTF-8?-jar?${APP_NAME}?--spring.config.location=application-apicenter.yml?--spring.profiles.active=none?>>?console.`date?"+%FT%TZ"`.log?2>&1?&
????????echo?${APP_NAME}?start!
????????;;
????stop)????
????????ps?-ef|?grep?${APP_NAME}?|grep?-v?grep?|awk?'{print?$2}'??|?sed?-e?"s/^/kill?-9?/g"?|?sh?-?
????????echo?${APP_NAME}?stop!
????????;;
????restart)
????????"$0"?stop
????????sleep?3
????????"$0"?start
????????;;
????status)??ps?-aux?|?grep?${APP_NAME}?|?grep?-v?'grep'
????????;;
????log)
????	case?$2?in
	debug)
		tail?-f?-n?${3-400}?logs/debug.log
		;;
	error)
		tail?-f?-n?${3-400}?logs/error.log
		;;
	*)
		echo?"Example:?services.sh?log?{debug|error}"?;;
	esac
????????;;
????*)???????
????????echo?"Example:?services.sh?[start|stop|restart|status]"?;;
esac

(4).改造后測試;


[ops@op-opsbmc-2-prod ~]$ ansible -i???192.168.1.53, all -m shell -a "su - work -c '/chj/app/web_app/apiCenter/services-apicenter.sh restart'" -b ?


?192.168.1.53,| CHANGED | rc=0 >>

apiCenter-0.0.1-SNAPSHOT.jar stop!

apiCenter-0.0.1-SNAPSHOT.jar start!


(5).登陸機器查看進程;

ansible 遠程服務管理-Java 應用啟動腳本;


向AI問一下細節

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

AI

兴城市| 永胜县| 安塞县| 绥化市| 全南县| 新营市| 雷山县| 资溪县| 华宁县| 安达市| 肇庆市| 苏尼特右旗| 商丘市| 策勒县| 乌拉特前旗| 绿春县| 乐东| 嫩江县| 永城市| 东兴市| 宾川县| 仁布县| 名山县| 瓮安县| 浦北县| 安仁县| 兴国县| 河曲县| 克拉玛依市| 吐鲁番市| 阿拉尔市| 色达县| 宁海县| 斗六市| 上栗县| 偏关县| 公安县| 奇台县| 宁阳县| 菏泽市| 北海市|