woodpecker/packaging/root/usr/share/drone/init.d/drone
2014-11-02 16:36:53 +03:00

75 lines
No EOL
1.4 KiB
Bash

#! /bin/sh
### BEGIN INIT INFO
# Provides: drone
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Drone continuous integration server
### END INIT INFO
DAEMON_OPTS="--config=/etc/drone/drone.toml"
pid() {
if [ -f /usr/local/bin/droned ]; then
pidof /usr/local/bin/droned
fi
}
stop() {
if pidof /usr/local/bin/droned >/dev/null; then
kill -9 "$(pid)"
else
echo "Drone not runned"
exit 1
fi
}
start() {
if pidof /usr/local/bin/droned >/dev/null; then
echo "Drone already runned"
exit 1
else
nohup droned $DAEMON_OPTS > /var/log/drone.log 2>&1 &
fi
}
restart() {
if pidof /usr/local/bin/droned >/dev/null; then
kill -9 "$(pid)"
nohup droned $DAEMON_OPTS > /var/log/drone.log 2>&1 &
exit 0
else
nohup droned $DAEMON_OPTS > /var/log/drone.log 2>&1 &
exit 0
fi
}
status() {
if pidof /usr/local/bin/droned >/dev/null; then
echo "Drone with pid $(pid) is running"
else
echo "Drone is not running"
fi
exit 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status
;;
*)
echo "Usage: service drone {start|stop|restart|status}"
exit 1
;;
esac