1 changed files with 81 additions and 0 deletions
@ -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 |
Loading…
Reference in new issue