linux--配置自启动

674 阅读1分钟

举个例子

linux7开机自启动东方通tongweb

自启动服务:

  可以通过把TongWeb设置为系统服务来实现。

  具体实现:

脚本必须放在/etc/init.d目录,才能有后续的自启动配置

  以root用户进行操作,在/etc/init.d目录下编写TongWeb的服务脚本tongweb,用来控制TongWeb的启动和停止。

  脚本内容如下:

#!/bin/bash
#
# tongweb   This shell script takes care of starting and stopping
# standalone tongweb.
#
# chkconfig:2345 80 90
# description:auto_run
#   that answers incoming ftp service requests.
# processname:tongweb

 start(){
 su - root -c "cd /opt/TongWeb5.0/bin;nohup ./startserver.sh &"
 }
 
 stop(){
 su - root -c "cd /opt/TongWeb5.0/bin;nohup ./stopserver.sh &"
 }
 
 # See how we were called.
 case "$1" in
   start)
        start
        ;;
   stop)
        stop
        ;;
   restart)
        stop
        sleep 3
        start
        ;;
   *)
        exit 1
 esac

exit 0

使用chkconfig命令把服务脚本加入到系统服务列表中。

chkconfig  --add  tongweb

设置系统开机时自动启动

chkconfig  tongweb  on

服务器启动时,TongWeb即可自动启动。

我本地用tomcat测试了一下

image.png

tomcat脚本文件

#!/bin/bash
#
# tongweb   This shell script takes care of starting and stopping
# standalone tongweb.
#
# chkconfig:2345 80 90
# description:auto_run
#   that answers incoming ftp service requests.
# processname:tongweb

 start(){
 su - root -c "cd /appsofr/apache-tomcat-8.5.72/bin;nohup ./startup.sh &"
 }
 
 stop(){
 su - root -c "cd /appsofr/apache-tomcat-8.5.72/bin;nohup ./shutdown.sh &"
 }
 
 # See how we were called.
 case "$1" in
   start)
        start
        ;;
   stop)
        stop
        ;;
   restart)
        stop
        sleep 3
        start
        ;;
   *)
        exit 1
 esac

exit 0

如果需要手动关闭之类的,可以这样操作

[root@harbor ~]# chkconfig --list | grep tomcat

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

tomcat          0:关    1:关    2:开    3:开    4:开    5:开    6:关
[root@harbor ~]# ps -ef|grep tomcat
root        1183       1  3 15:06 ?        00:00:07 /usr/java/jdk1.8.0_291-amd64/jre/bin/java -Djava.util.logging.config.file=/appsofr/apache-tomcat-8.5.72/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /appsofr/apache-tomcat-8.5.72/bin/bootstrap.jar:/appsofr/apache-tomcat-8.5.72/bin/tomcat-juli.jar -Dcatalina.base=/appsofr/apache-tomcat-8.5.72 -Dcatalina.home=/appsofr/apache-tomcat-8.5.72 -Djava.io.tmpdir=/appsofr/apache-tomcat-8.5.72/temp org.apache.catalina.startup.Bootstrap start
root        8022    5885  0 15:09 pts/0    00:00:00 grep --color=auto tomcat
[root@harbor ~]# systemctl stop tomcat
[root@harbor ~]# ps -ef|grep tomcat
root        8465    5885  0 15:09 pts/0    00:00:00 grep --color=auto tomcat
[root@harbor ~]# systemctl start tomcat
[root@harbor ~]# ps -ef|grep tomcat
root        8595       1 99 15:09 ?        00:00:02 /usr/java/jdk1.8.0_291-amd64/jre/bin/java -Djava.util.logging.config.file=/appsofr/apache-tomcat-8.5.72/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /appsofr/apache-tomcat-8.5.72/bin/bootstrap.jar:/appsofr/apache-tomcat-8.5.72/bin/tomcat-juli.jar -Dcatalina.base=/appsofr/apache-tomcat-8.5.72 -Dcatalina.home=/appsofr/apache-tomcat-8.5.72 -Djava.io.tmpdir=/appsofr/apache-tomcat-8.5.72/temp org.apache.catalina.startup.Bootstrap start
root        8677    5885  0 15:10 pts/0    00:00:00 grep --color=auto tomcat
[root@harbor ~]# 

已经手工配置成功。