因爲園區的電源不是很穩定,常常會斷電,斷電以後幾十臺服務器,啓動服務都要人肉啓動,真是很是蠢的行爲;html
開機自啓動服務就頗有必要,以前設置過,後來沒有成功就無論了,斷電好幾回以後,意識到這個問題就很嚴重了,因此必須解決掉它;bash
先說下環境:Cetos 7 64位、Elasticsearch 5.4 版本;服務器
一:先查看當前的開機啓動服務; elasticsearch
chkconfig --list
會列出當前系統的開機服務,更多chkconfig命令參考此連接;ide
二:建立es 的系統啓動服務文件,進入到 cd /etc/init.d 目錄;es5
cd /etc/init.d 【進入到目錄】 vi elasticsearch 【建立es系統啓動服務文件】
三:編寫啓動腳本;spa
#!/bin/bash #chkconfig: 345 63 37 #description: elasticsearch #processname: elasticsearch-5.4.0 export ES_HOME=/usr/local/es/eshome/es540 【這個目錄是你Es所在文件夾的目錄】 case $1 in start) su es<<! 【es 這個是啓動es的帳戶,若是你的不是這個記得調整】 cd $ES_HOME ./bin/elasticsearch -d -p pid exit ! echo "elasticsearch is started" ;; stop) pid=`cat $ES_HOME/pid` kill -9 $pid echo "elasticsearch is stopped" ;; restart) pid=`cat $ES_HOME/pid` kill -9 $pid echo "elasticsearch is stopped" sleep 1 su es<<! 【es 這個是啓動es的帳戶,若是你的不是這個記得調整】 cd $ES_HOME ./bin/elasticsearch -d -p pid exit ! echo "elasticsearch is started" ;; *) echo "start|stop|restart" ;; esac exit 0
四:修改文件權限;rest
chmod 777 elasticsearch
五:添加和刪除服務並設置啓動方式;code
chkconfig --add elasticsearch 【添加系統服務】 chkconfig --del elasticsearch 【刪除系統服務】
六:關閉和啓動服務;htm
service elasticsearch start 【啓動】 service elasticsearch stop 【中止】 service elasticsearch restart 【重啓】
七:設置服務是否開機啓動;
chkconfig elasticsearch on 【開啓】 chkconfig elasticsearch off 【關閉】
-------------------------------
驗證是否已啓動命令:
ps -ef | grep elasticsearch 【查看是否有es的進程】
結束進程命令用kill -9 進程ID;
補充:
經過自定義腳本啓動方式:https://www.jianshu.com/p/053125111158 這個沒有試過,不知道能不能成功;