Bash
12 May 2010
 

slave.sh

 
 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env bash
#bitten-slave -k -f config.ini -d . --build-dir=. http://localhost:8080/builds & echo $! > slave.pid
prog="bitten-slave"
SLAVE_PATH="$2"
URL=$3
PID_FILE="$SLAVE_PATH/slave.pid"
SLAVE_CONFIG="$SLAVE_PATH/config.ini"
start() {
if [ ! -e "$PID_FILE" ]; then
bitten-slave -k -f "$SLAVE_CONFIG" -d $SLAVE_PATH --build-dir=$SLAVE_PATH $URL > /dev/null 2> /dev/null & echo $! > "$PID_FILE"
else
echo "Slave not started. $PID_FILE exist. It looks like another instance of slave is running"
exit 3
fi
}
stop() {
if [ -e "$PID_FILE" ]; then
kill -9 $(cat "$PID_FILE")
rm -f "$PID_FILE"
else
echo "$PID_FILE not exist. It looks like slave is stopped."
fi
}
status() {
if [ -e "$PID_FILE" ]; then
echo -n "slave is running for "
MTIME=$(stat -c"%Y" "/proc/$(cat $PID_FILE)/fd/1")
NOW=$(date +%s)
PASSED=$(( $NOW-$MTIME ))
echo "$PASSED secs"
if (( "$PASSED" > 20 )) ; then
echo "Slave not respond"
exit 7
fi
else
echo "slave not running"
fi
}
case $1 in
(start|stop|status)
$1
;;
(*)
echo $"Usage: $0 {start|stop|status}"
exit 3
esac