Skip to content

Instantly share code, notes, and snippets.

@tfnico
Created July 9, 2012 11:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tfnico/3076013 to your computer and use it in GitHub Desktop.
Save tfnico/3076013 to your computer and use it in GitHub Desktop.
init script for camelbot
#!/bin/sh
dir="/opt/flurfunk/camelbot"
user="jenkins"
cmd="sh /opt/flurfunk/camelbot/flurfunk-camelbot-1.0-SNAPSHOT/bin/camelbot"
name=`basename $0`
pid_file="/var/run/$name.pid"
stdout_log="/var/log/$name.log"
stderr_log="/var/log/$name.err"
get_pid() {
cat "$pid_file"
}
is_running() {
[ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1
}
case "$1" in
start)
if is_running; then
echo "Already started"
else
echo "Starting $name"
cd "$dir"
sudo -u "$user" $cmd > "$stdout_log" 2> "$stderr_log" \
& echo $! > "$pid_file"
if ! is_running; then
echo "Unable to start, see $stdout_log and $stderr_log"
exit 1
fi
fi
;;
stop)
if is_running; then
echo "Stopping $name"
kill `get_pid`
rm "$pid_file"
else
echo "Not running"
fi
;;
restart)
$0 stop
$0 start
;;
status)
if is_running; then
echo "Running"
else
echo "Stopped"
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment