自启动脚本的编写

下面以 node.js 应用的自启动为例介绍自启动服务脚本的编写。

假设目录 /root 下有一 Node.js 文件 deamon.js 需要设置为开机自启动。那么首先在目录 /etc/init.d 下建立一个名为 deamon 的文件,如下面所示。

#!/bin/sh
### BEGIN INIT INFO
# Provides:          deamon
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Interactive:     true
# Short-Description: Start/stop deamon server
### END INIT INFO

DEAMON=/root/deamon.js
LOG=/var/log/deamon.log
PID=/var/run/deamon.pid
 
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules

node=node

case "$1" in
 start)
  forever start -l $LOG --pidFile $PID -a $DEAMON
  ;;
 stop)
  forever stop --pidFile $PID $DEAMON
  ;;
 restart)
  forever restart -l $LOG --pidFile $PID -a $DEAMON
  ;;
  *)
  echo "Usage: /etc.init.d/node {start|stop|restart}"
  exit 1
  ;;
esac

记得使用命令 chmod 755 deamon 修改该文件的权限。上面的启动文件建立后,还没完,你还需要添加开机启动项。

$ sudo update-rc.d deamon defaults

当然如果你想移除已添加的启动项,可以使用下面的命令。

$ sudo update-rc.d -f deamon remove

注意上面启动文件中的 export 语句不可缺少,否则开机启动文件的执行过程中,会由于找不到相关可执行文件而报错。

标签: none

添加新评论