Advertisement
danielhilst

collectd-init.d.sh

Mar 6th, 2014
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.05 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # 2014 Daniel Hilst Selli <danielhilst at gmail.com>
  4.  
  5. SERVICE=collectd
  6. PROG=/opt/collectd/sbin/collectd
  7. ARGS="-fC /opt/collectd/etc/collectd.conf"
  8. PIDFILE=/var/run/$SERVICE.pid
  9.  
  10. if test -r /etc/default/${SERVICE}; then
  11.     . /etc/default/${SERVICE}
  12. fi
  13.  
  14. usage()
  15. {
  16.     echo "$SERVICE {start|stop|restart|status}"
  17. }
  18.  
  19. # Returns success if service is started
  20. # fail otherwise
  21. started()
  22. {
  23.         kill -0 $(cat $PIDFILE) > /dev/null 2>&1
  24. }
  25.  
  26. case $1 in
  27.     start)
  28.         if ! started; then
  29.             $PROG $ARGS &
  30.             pidof $SERVICE > $PIDFILE
  31.         fi
  32.     sleep 1
  33.         $0 status
  34.         ;;
  35.     stop)
  36.         if started; then
  37.             kill $(cat $PIDFILE)
  38.         fi
  39.     sleep 1
  40.         $0 status
  41.         ;;
  42.     status)
  43.         echo -n "$SERVICE is "
  44.         if started; then
  45.             echo "... STARTED"
  46.             return 0;
  47.         else
  48.             echo "... STOPPED"
  49.             return 3;
  50.         fi;
  51.         ;;
  52.     restart|force-reload)
  53.         $0 stop
  54.         sleep 1
  55.         $0 start
  56.         ;;
  57.     *)
  58.         usage
  59.         exit 1
  60.         ;;
  61. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement