=============
例 用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