Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. #!/bin/bash
  2. # chkconfig: - 25 75
  3. # description: carbon-aggregator
  4. # processname: carbon-aggregator
  5.  
  6. export PYTHONPATH="$GRAPHITE_DIR/lib:$PYTHONPATH"
  7.  
  8. # Source function library.
  9. if [ -e /lib/lsb/init-functions ]; then
  10. . /lib/lsb/init-functions
  11. fi;
  12.  
  13. CARBON_DAEMON="aggregator"
  14. GRAPHITE_DIR="/opt/graphite"
  15. INSTANCES=`grep "^\[${CARBON_DAEMON}" ${GRAPHITE_DIR}/conf/carbon.conf | cut -d \[ -f 2 | cut -d \] -f 1 | cut -d : -f 2`
  16.  
  17. function die {
  18. echo $1
  19. exit 1
  20. }
  21.  
  22. start(){
  23. cd $GRAPHITE_DIR;
  24.  
  25. for INSTANCE in ${INSTANCES}; do
  26. if [ "${INSTANCE}" == "${CARBON_DAEMON}" ]; then
  27. INSTANCE="a";
  28. fi;
  29. log_action_begin_msg "Starting carbon-${CARBON_DAEMON}:${INSTANCE}..."
  30. bin/carbon-${CARBON_DAEMON}.py --instance=${INSTANCE} start;
  31.  
  32. if [ $? -eq 0 ]; then
  33. log_success_msg
  34. else
  35. log_failure_msg
  36. fi;
  37. echo ""
  38. done;
  39. }
  40.  
  41. stop(){
  42. cd $GRAPHITE_DIR
  43.  
  44. for INSTANCE in ${INSTANCES}; do
  45. if [ "${INSTANCE}" == "${CARBON_DAEMON}" ]; then
  46. INSTANCE="a";
  47. fi;
  48. log_action_begin_msg "Stopping carbon-${CARBON_DAEMON}:${INSTANCE}..."
  49. bin/carbon-${CARBON_DAEMON}.py --instance=${INSTANCE} stop
  50.  
  51. if [ `sleep 3; /usr/bin/pgrep -f "carbon-${CARBON_DAEMON}.py --instance=${INSTANCE}" | /usr/bin/wc -l` -gt 0 ]; then
  52. echo "Carbon did not stop yet. Sleeping longer, then force killing it...";
  53. sleep 20;
  54. /usr/bin/pkill -9 -f "carbon-${CARBON_DAEMON}.py --instance=${INSTANCE}";
  55. fi;
  56.  
  57. if [ $? -eq 0 ]; then
  58. log_success_msg
  59. else
  60. log_failure_msg
  61. fi;
  62. echo ""
  63. done;
  64. }
  65.  
  66. status(){
  67. cd $GRAPHITE_DIR;
  68.  
  69. for INSTANCE in ${INSTANCES}; do
  70. if [ "${INSTANCE}" == "${CARBON_DAEMON}" ]; then
  71. INSTANCE="a";
  72. fi;
  73. bin/carbon-${CARBON_DAEMON}.py --instance=${INSTANCE} status;
  74.  
  75. if [ $? -eq 0 ]; then
  76. log_success_msg
  77. else
  78. log_failure_msg
  79. fi;
  80. echo ""
  81. done;
  82. }
  83.  
  84. case "$1" in
  85. start)
  86. start
  87. ;;
  88. stop)
  89. stop
  90. ;;
  91. status)
  92. status
  93. ;;
  94. restart|reload)
  95. stop
  96. start
  97. ;;
  98. *)
  99. echo $"Usage: $0 {start|stop|restart|status}"
  100. exit 1
  101. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement