=============
例 用jenkins用戶(非root用戶)自啓動jenkins服務:
----------------------------------
手動啓動方式如下:
cd /home/jenkins && nohup java -jar jenkins.war &
建立自動啓動腳本流程如下:
1. 在/etc/init.d 目錄中創建腳本 jenkins
內容爲
#!/bin/sh
# chkconfig: - 80 20
# description: auto_start_sevcie
case "$1" in
start)
/bin/su jenkins -c "cd /home/jenkins && nohup /usr/java/jdk1.7.0_11/java -jar jenkins.war &"
;;
stop)
ps -ef|grep "jenkins.war" | awk '{print $2}' | xargs kill -9
;;
restart)
echo "not support restart"
;;
*)
echo "Usage: /ect/init.d/auto_start_service { start| stop} "
esac
exit 0
2. 爲腳本添加運行權限
chmod u+x /etc/init.d/jenkins
3. 在/etc/rc2.d目錄中創建軟連接
ln -s /etc/init.d/jenkins /etc/rc2.d/S99auto
4. 使用chkconfig設置自啓動
chkconfig --add jenkins
chkconfig --level 2345 jenkins on
5. 測試
service jenkins start
如此,開機即可自動啓動。
注意點:
1. 通過/etc/init.d 和 /etc/rc2.d 中掛載腳本來實現自啓動,如果沒做#3就沒法開機自啓動。
2. 通過 /bin/su USERNAME -c "commands " 來實現 特定用戶啓動特定腳本 。
3. 注意腳本的前三行,如果格式不正確就無法使用chkconfig加載
o 說明是可執行腳本
o 說明是chkconfig的格式,可以加到service中,三個參數分別是
o
§ 可執行的環境 (- 表示所有環境,或者常用的2345)
§ start的優先級
§ stop的優先級
o 說明service的描述
4. 如果腳本沒添加運行權限的話,運行service進行測試時會報錯
auto_start:L unrecognized service