/rc5.d/S98hobbit-client

http://github.com/brinkman83/bashrc · Shell · 103 lines · 77 code · 10 blank · 16 comment · 11 complexity · 63a10457e480522dad6307adacc6982b MD5 · raw file

  1. #! /bin/sh
  2. #
  3. # hobbitclient This shell script takes care of starting and stopping
  4. # the hobbit client.
  5. ### BEGIN INIT INFO
  6. # Provides: hobbit-client
  7. # Required-Start: $remote_fs $network
  8. # Should-Start: $all
  9. # Required-Stop: $remote_fs
  10. # Default-Start: 2 3 4 5
  11. # Default-Stop: 0 1 6
  12. # Short-Description: Hobbit system monitor client
  13. # Description: Client to feed system data to a remote Hobbit server.
  14. ### END INIT INFO
  15. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  16. DAEMON="/usr/lib/hobbit/client/bin/hobbitlaunch"
  17. NAME=hobbitclient
  18. DESC="Hobbit Client"
  19. PIDFILE="/var/run/hobbit/clientlaunch.pid"
  20. HOBBITCLIENTHOME="/usr/lib/hobbit/client"
  21. test -x $DAEMON || exit 0
  22. . /lib/lsb/init-functions
  23. . /usr/share/hobbit/init-common.sh
  24. # Include hobbitclient defaults if available
  25. if [ -f /etc/default/hobbit-client ] ; then
  26. . /etc/default/hobbit-client
  27. fi
  28. [ -z "$MACHINE" ] && MACHINE="$CLIENTHOSTNAME"
  29. [ -z "$MACHINEDOTS" ] && MACHINEDOTS="`hostname -f`"
  30. export HOBBITSERVERS HOBBITCLIENTHOME CLIENTHOSTNAME MACHINE MACHINEDOTS
  31. case "$1" in
  32. start)
  33. # do not run the client script on the server
  34. [ -x /usr/lib/hobbit/server/bin/hobbitd ] && exit 0
  35. create_includefiles
  36. log_daemon_msg "Starting $DESC" "$NAME"
  37. start-stop-daemon --exec $DAEMON --chuid hobbit --umask 022 --start \
  38. -- \
  39. --config=/etc/hobbit/clientlaunch.cfg \
  40. --log=/var/log/hobbit/clientlaunch.log \
  41. --pidfile=$PIDFILE
  42. log_end_msg $?
  43. ;;
  44. stop)
  45. log_daemon_msg "Stopping $DESC" "$NAME"
  46. start-stop-daemon --exec $DAEMON --pidfile $PIDFILE --stop --retry 5
  47. log_end_msg $?
  48. ;;
  49. status)
  50. if test -s $PIDFILE
  51. then
  52. kill -0 `cat $PIDFILE`
  53. if test $? -eq 0
  54. then
  55. echo "Hobbit client running with PID `cat $PIDFILE`"
  56. exit 0
  57. else
  58. echo "Hobbit client not running, removing stale PID file"
  59. rm -f $PIDFILE
  60. exit 1
  61. fi
  62. else
  63. echo "Hobbit client does not appear to be running"
  64. exit 3
  65. fi
  66. ;;
  67. restart)
  68. if [ -x /usr/lib/hobbit/server/bin/hobbitd ] ; then
  69. log_action_msg "Hobbit server installed. Please restart 'hobbit' instead"
  70. exit 0
  71. fi
  72. $0 stop
  73. sleep 1
  74. $0 start
  75. ;;
  76. reload|force-reload)
  77. [ -x /usr/lib/hobbit/server/bin/hobbitd ] && exit 0
  78. create_includefiles
  79. kill -HUP `cat /var/run/hobbit/clientlaunch.pid`
  80. ;;
  81. rotate)
  82. for PIDFILE in /var/run/hobbit/*.pid
  83. do
  84. test -e $PIDFILE && kill -HUP `cat $PIDFILE`
  85. done
  86. ;;
  87. *)
  88. N=/etc/init.d/$NAME
  89. echo "Usage: $N {start|stop|restart|force-reload|status|rotate}" >&2
  90. exit 1
  91. ;;
  92. esac
  93. exit 0