linux 开机服务自启动

时间:2022-01-03 15:38:08
linux 开机自启动

=============

 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