在CentOS中init.d service 开机时自动启动脚本

时间:2021-09-03 06:01:23
下面一起来看一段在CentOS中init.d service 开机时自动启动脚本了,其实以前也介绍过,希望对各位有帮助。

方法一,

编辑  /etc/rc.d/rc.local文件

格式为  程序名  程序路径

例如  a.sh  /home/a.sh

第二种方法

只需要将your_prog_name替换为你真正的脚本或执行文件的名称,将prog_path设置为具体的路径即可。

 代码如下 复制代码

# vim /etc/init.d/your_prog_name

#!/bin/bash
#
# Comments to support chkconfig
# chkconfig: - 98 02
# description: your_prog_name service script
#
# Source function library.
. /etc/init.d/functions

### Default variables
prog_name="your_prog_name"
prog_path="/usr/bin/${prog_name}"
pidfile="/var/run/${prog_name}.pid"
options="-c your_conf_file"

# Check if requirements are met
[ -x "${prog_path}" ] || exit 1

RETVAL=0

start(){
  echo -n $"Starting $prog_name: "
  daemon $prog_path $options
  RETVAL=$?
  PID=$(pidof ${prog_path})
  [ ! -z "${PID}" ] && echo ${PID} > ${pidfile}
  echo
  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog_name
  return $RETVAL
}

stop(){
  echo -n $"Shutting down $prog_name: "
  killproc -p ${pidfile}
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog_name
  return $RETVAL
}

restart() {
  stop
  start
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  status)
    status $prog_path
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|status}"
    RETVAL=1
esac

exit $RETVAL
# chmod +x /etc/init.d/your_prog_name
# chkconfig your_prog_name on