#!/bin/sh # # /etc/init.d/newznab: start and stop the newznab update script # # run update-rc.d newznab_ubuntu.sh defaults ### BEGIN INIT INFO # Provides: Newznab # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start newznab at boot time # Description: Enable newznab service provided by daemon. ### END INIT INFO RED=$(tput setaf 1) GREEN=$(tput setaf 2) NORMAL=$(tput sgr0) col=40 # Newznab variables NN_PATH="/var/www/newznab/htdocs/misc/update_scripts" NN_BINUP="update_binaries.php" NN_RELUP="update_releases.php" NN_PREDB="update_predb.php true" NN_OPT="optimise_db.php" NN_TV="update_tvschedule.php" NN_THEATERS="update_theaters.php" NN_SLEEP_TIME="10" # in seconds . 10sec is good for 100s of groups. 600sec might be a good start for fewer. NN_PID_PATH="/var/run/" PIDFILE="newznab_sh.pid" LASTOPTIMIZE=`date +%s` test -f /lib/lsb/init-functions || exit 1 . /lib/lsb/init-functions case "$1" in start) if [ -f ${NN_PID_PATH}${PIDFILE} ] then echo "$0 is already running." else echo -n "Starting Newznab binaries update..." cd ${NN_PATH} while : do CURRTIME=`date +%s` php ${NN_BINUP} 2>&1 > /dev/null && php ${NN_RELUP} 2>&1 > /dev/null && php ${NN_PREDB} 2>&1 > /dev/null DIFF=$(($CURRTIME-$LASTOPTIMIZE)) if [ "$DIFF" -gt 43200 ] || [ "$DIFF" -lt 1 ] then LASTOPTIMIZE=`date +%s` php ${NN_OPT} 2>&1 > /dev/null && php ${NN_TV} 2>&1 > /dev/null && php ${NN_THEATERS} 2>&1 > /dev/null fi sleep ${NN_SLEEP_TIME} done & PID=$! echo $PID > ${NN_PID_PATH}${PIDFILE} sleep 2 if [ -f ${NN_PID_PATH}${PIDFILE} ] then printf '%s%*s%s\n' "$GREEN" $col '[OK]' "$NORMAL" else printf '%s%*s%s\n' "$RED" $col '[FAIL]' "$NORMAL" fi fi & ;; stop) echo -n "Stopping Newznab binaries update..." kill -9 `cat ${NN_PID_PATH}${PIDFILE}` && kill -9 `cat ${NN_PID_PATH}${PIDFILE}` && rm ${NN_PID_PATH}${PIDFILE} sleep 2 if [ -f ${NN_PID_PATH}${PIDFILE} ] then printf '%s%*s%s\n' "$RED" $col '[FAIL]' "$NORMAL" else printf '%s%*s%s\n' "$GREEN" $col '[OK]' "$NORMAL" fi ;; *) echo "Usage: $0 [start|stop]" exit 1 esac