#!/bin/bash DOUSHIO=/srv LOG=daemon.log if [[ "$1" == "start" ]]; then cd $DOUSHIO if ps -p $(cat doushio.pid) >/dev/null; then echo "[e] daemon already active" exit fi echo "[`date -u +%Y-%m-%dT%T.%3NZ`] starting daemon..." >>$LOG node server/server.js 1>/dev/null 2>>$LOG & echo $! > doushio.pid echo "[+] doushio ($(cat doushio.pid))" echo " doushio $(cat doushio.pid)" >>$LOG node archive/daemon.js 1>/dev/null 2>>$LOG & echo $! > doushio.archive.pid echo "[+] archive ($(cat doushio.archive.pid))" echo " archive $(cat doushio.archive.pid)" >>$LOG elif [[ "$1" == "stop" ]]; then cd $DOUSHIO echo "[`date -u +%Y-%m-%dT%T.%3NZ`] stopping daemon..." >>$LOG kill $(cat doushio.archive.pid) if ps -p $(cat doushio.archive.pid) >/dev/null; then echo "[e] failed to stop archive" echo " archive failed" >>$LOG else echo "[-] archive" echo " archive ok" >>$LOG fi kill $(cat doushio.pid) if ps -p $(cat doushio.pid) >/dev/null; then echo "[e] failed to stop doushio" echo " doushio failed" >>$LOG else echo "[-] doushio" echo " doushio ok">>$LOG fi elif [[ "$1" == "restart" ]]; then $0 stop $0 start elif [[ "$1" == "stat" ]]; then cd $DOUSHIO if ps -p $(cat doushio.pid) $(cat doushio.archive.pid); then echo "ok" else echo "server is not up" fi else echo "[e] usage: $0 (start|stop|restart|stat)" fi