From 967aba0f82c5c77839b943b4c81353d3e1a29f88 Mon Sep 17 00:00:00 2001 From: Ruud Date: Mon, 16 Apr 2012 23:51:03 +0200 Subject: [PATCH] Synology init script --- init/synology | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 init/synology diff --git a/init/synology b/init/synology new file mode 100644 index 0000000..859582b --- /dev/null +++ b/init/synology @@ -0,0 +1,81 @@ +#!/bin/sh + +# Package +PACKAGE="couchpotato" +DNAME="CouchPotato" + +# Others +INSTALL_DIR="/opt/${PACKAGE}" +PYTHON_DIR="/opt/bin" +PATH="${INSTALL_DIR}/bin:${INSTALL_DIR}/env/bin:${PYTHON_DIR}/bin:/usr/local/bin:/bin:/usr/bin:/usr/syno/bin" +RUNAS="couchpotato" +PYTHON="${PYTHON_DIR}/python2.7" +COUCHPOTATO="${INSTALL_DIR}/CouchPotato.py" +CFG_FILE="${INSTALL_DIR}/var/settings.conf" +PID_FILE="${INSTALL_DIR}/var/couchpotato.pid" +LOG_FILE="${INSTALL_DIR}/var/logs/CouchPotato.log" + + +start_daemon() +{ +su ${RUNAS} -c "PATH=${PATH} ${PYTHON} ${COUCHPOTATO} --daemon --pid_file ${PID_FILE} --config ${CFG_FILE}" +} + +stop_daemon() +{ + kill `cat ${PID_FILE}` + wait_for_status 1 20 + rm -f ${PID_FILE} +} + +daemon_status() +{ + if [ -f ${PID_FILE} ] && [ -d /proc/`cat ${PID_FILE}` ]; then +return 0 + fi +return 1 +} + +wait_for_status() +{ + counter=$2 + while [ ${counter} -gt 0 ]; do +daemon_status + [ $? -eq $1 ] && break +let counter=counter-1 + sleep 1 + done +} +case $1 in + start) + if daemon_status; then +echo ${DNAME} is already running + else +echo Starting ${DNAME} ... + start_daemon + fi + ;; + stop) + if daemon_status; then +echo Stopping ${DNAME} ... + stop_daemon + else +echo ${DNAME} is not running + fi + ;; + status) + if daemon_status; then +echo ${DNAME} is running + exit 0 + else +echo ${DNAME} is not running + exit 1 + fi + ;; + log) + echo ${LOG_FILE} + ;; + *) + exit 1 + ;; +esac \ No newline at end of file