Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. #! /bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides: mattermost
  4. # Required-Start: $network $syslog
  5. # Required-Stop: $network $syslog
  6. # Default-Start: 2 3 4 5
  7. # Default-Stop: 0 1 6
  8. # Short-Description: Mattermost Group Chat
  9. # Description: Mattermost: An open-source Slack
  10. ### END INIT INFO
  11.  
  12. PATH=/sbin:/usr/sbin:/bin:/usr/bin
  13. DESC="Mattermost"
  14. NAME=mattermost
  15. MATTERMOST_ROOT=/opt/mattermost
  16. MATTERMOST_GROUP=mattermost
  17. MATTERMOST_USER=mattermost
  18. DAEMON="$MATTERMOST_ROOT/bin/platform"
  19. PIDFILE=/var/run/$NAME.pid
  20. SCRIPTNAME=/etc/init.d/$NAME
  21.  
  22. . /lib/lsb/init-functions
  23.  
  24. do_start() {
  25. # Return
  26. # 0 if daemon has been started
  27. # 1 if daemon was already running
  28. # 2 if daemon could not be started
  29. start-stop-daemon --start --quiet \
  30. --chuid $MATTERMOST_USER:$MATTERMOST_GROUP --chdir $MATTERMOST_ROOT --background \
  31. --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
  32. || return 1
  33. start-stop-daemon --start --quiet \
  34. --chuid $MATTERMOST_USER:$MATTERMOST_GROUP --chdir $MATTERMOST_ROOT --background \
  35. --make-pidfile --pidfile $PIDFILE --exec $DAEMON \
  36. || return 2
  37. }
  38.  
  39. #
  40. # Function that stops the daemon/service
  41. #
  42. do_stop() {
  43. # Return
  44. # 0 if daemon has been stopped
  45. # 1 if daemon was already stopped
  46. # 2 if daemon could not be stopped
  47. # other if a failure occurred
  48. start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \
  49. --pidfile $PIDFILE --exec $DAEMON
  50. RETVAL="$?"
  51. [ "$RETVAL" = 2 ] && return 2
  52. # Wait for children to finish too if this is a daemon that forks
  53. # and if the daemon is only ever run from this initscript.
  54. # If the above conditions are not satisfied then add some other code
  55. # that waits for the process to drop all resources that could be
  56. # needed by services started subsequently. A last resort is to
  57. # sleep for some time.
  58. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 \
  59. --exec $DAEMON
  60. [ "$?" = 2 ] && return 2
  61. # Many daemons don't delete their pidfiles when they exit.
  62. rm -f $PIDFILE
  63. return "$RETVAL"
  64. }
  65.  
  66. case "$1" in
  67. start)
  68. [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
  69. do_start
  70. case "$?" in
  71. 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  72. 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  73. esac
  74. ;;
  75. stop)
  76. [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
  77. do_stop
  78. case "$?" in
  79. 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  80. 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  81. esac
  82. ;;
  83. status)
  84. status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
  85. ;;
  86. restart|force-reload)
  87. #
  88. # If the "reload" option is implemented then remove the
  89. # 'force-reload' alias
  90. #
  91. log_daemon_msg "Restarting $DESC" "$NAME"
  92. do_stop
  93. case "$?" in
  94. 0|1)
  95. do_start
  96. case "$?" in
  97. 0) log_end_msg 0 ;;
  98. 1) log_end_msg 1 ;; # Old process is still running
  99. *) log_end_msg 1 ;; # Failed to start
  100. esac
  101. ;;
  102. *)
  103. # Failed to stop
  104. log_end_msg 1
  105. ;;
  106. esac
  107. ;;
  108. *)
  109. echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
  110. exit 3
  111. ;;
  112. esac
  113.  
  114. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement