備忘のためにメモを残します。
debパッケージとか使えば、こういうの書かなくてよかったかなー、と思いつつstart-stop-daemon書いたことなかったのと、こういうちまちましたのが好きなので用意しました。
droneは、GitHubのcommitリビジョン[462a44d0cf4c59e3bc01255d9a2a1d8b2c4bf33f]でビルドしました。
/etc/init.d/drone.sh
# !/bin/bash
source /etc/profile.d/drone.sh
source /root/.bashrc
export GIN_MODE=release
PID=/var/run/drone.pid
NAME=drone
DRONE_HOME=${droneをソースコードからビルドした場所}
case "$1" in
start)
echo "starting $NAME";
start-stop-daemon --start --background --exec $DRONE_HOME/drone --make-pidfile --pidfile "$PID"
echo "$NAME was successfully started!"
;;
stop)
echo "stopping " "$NAME"
start-stop-daemon --stop --oknodo --signal TERM --pidfile "$PID"
echo "$NAME was stopped..."
;;
status)
start-stop-daemon --status --pidfile "$PID"
if [ $? = 1 ]; then
echo "drone is not runnning..."
else
echo "drone is runnning!"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: gf {start|stop|restart|status}"
exit 1
esac
exit 0