Files
newznab-tmux/misc/update_scripts/nix_scripts/newznab.sh
T
2015-05-28 12:36:28 +02:00

89 lines
2.2 KiB
Bash

#!/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