You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.5 KiB
81 lines
1.5 KiB
13 years ago
|
#!/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
|