summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Graham <joseph@fibreglass.tunachunks>2013-08-02 13:17:27 +0100
committerJoseph Graham <joseph@fibreglass.tunachunks>2013-08-02 13:17:27 +0100
commite1dec4f0cdfe612746ba186987fad1086e4d0cf2 (patch)
tree8af47e042444f82df69a5ab60b04d2fc191f4f92
parent4998c97ad3f3f3f140a14f4bf675a9d1d000105e (diff)
added the rc script to version control
-rw-r--r--pbot-ng.rc.d71
1 files changed, 71 insertions, 0 deletions
diff --git a/pbot-ng.rc.d b/pbot-ng.rc.d
new file mode 100644
index 0000000..29e76b2
--- /dev/null
+++ b/pbot-ng.rc.d
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+declare -a pids
+
+while read -r line
+do
+ pids+=("${line}")
+done < <( pgrep -u pbot-ng )
+
+case $1 in
+start)
+ stat_busy "Starting pbot-ng"
+
+ # Check it's not already running.
+ if ! (( ${#pids[*]} ))
+ then
+ su - pbot-ng -c "cd /home/pbot-ng ; ./envbot & ./bug_tracker_change_detector & ./chili_change_detector" &
+ # If it's not running then we fail.
+ if ! pgrep pbot-ng &>/dev/null
+ then
+ stat_fail
+ exit 1
+ fi
+
+ add_daemon pbot-ng
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+stop)
+ stat_busy "Stopping pbot-ng"
+
+ if ! (( ${#pids[*]} ))
+ then
+ echo "It's not running"
+ stat_fail
+ exit 1
+ fi
+
+ for (( i=0 ; i!=${#pids[*]} ; i++ ))
+ do
+ kill "${pids[${i}]}" &>/dev/null ||
+ {
+ stat_fail
+ exit 1
+ }
+ done
+
+ unset pids
+
+ rm_daemon pbot-ng
+ stat_done
+
+ ;;
+
+restart)
+ $0 stop
+ $0 start
+ ;;
+
+*)
+ echo "Usage: $0 {start|stop|restart}" >&2
+ exit 1
+
+esac