Advertisement
Guest User

lsb init script example

a guest
Jul 27th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.13 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. ### BEGIN INIT INFO
  4. # Provides:          my-project
  5. # Required-Start:    $remote_fs $syslog docker
  6. # Required-Stop:     $remote_fs $syslog docker
  7. # Should-Start:      $network $named $time
  8. # Should-Stop:       $network $named $time
  9. # Default-Start:     2 3 4 5
  10. # Default-Stop:      0 1 6
  11. # Short-Description: my-project
  12. # Description:       my-project
  13. ### END INIT INFO
  14. #
  15.  
  16. . /lib/lsb/init-functions
  17.  
  18. PROJECT_DIR=/home/USERNAME/my-project
  19. PID_FILE=$PROJECT_DIR/pids/my-project.pid
  20. DOCKER_BIN=/usr/bin/docker
  21. NPM_BIN=/usr/local/bin/npm
  22.  
  23. case "${1:-''}" in
  24.   'start')
  25.     (cd "$PROJECT_DIR" && "$NPM_BIN" run start)
  26.     exit $?
  27.     ;;
  28.  
  29.   'stop')
  30.     (cd "$PROJECT_DIR" && "$NPM_BIN" run stop)
  31.     exit $?
  32.     ;;
  33.  
  34.   'restart')
  35.     "$0" stop
  36.     retval=$?
  37.     [ $retval -ne 0 ] && exit $retval
  38.     "$0" start
  39.     exit $?
  40.     ;;
  41.  
  42.   'status')
  43.     if [[ ! -f "$PID_FILE" ]]; then
  44.       echo 'Container is not started' 1>&2
  45.     else
  46.       echo "Container PID: $(cat "$PID_FILE")"
  47.       "$DOCKER_BIN" ps
  48.     fi
  49.     ;;
  50.  
  51.   *)
  52.     echo "Usage: $SELF start|stop|restart|status"
  53.     exit 1
  54.     ;;
  55. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement