#!/bin/bash

#pwhois@pwhois-new ~ $ stat -c %Y . 
#1167778967
#pwhois@pwhois-new ~ $ date +%s
#1167779291

MININTERVAL=86400
ARININTERVAL=604800
FULLVACUUM=604800

while true; do
	INTERVAL=$(($(date +%s) - $(stat -c %Y $HOME/.lastrun)))
	if [ $(($MININTERVAL - $INTERVAL)) -lt 0 ]; then
		SLEEP=1
	else
		SLEEP=$(($MININTERVAL - $INTERVAL))
	fi

	date
	echo Sleeping for $SLEEP seconds

	sleep $SLEEP
	touch $HOME/.lastrun

	date
	echo Snapshot load
	/usr/local/sbin/pwhois-snapshot-load

	INTERVAL=$(($(date +%s) - $(stat -c %Y $HOME/.lastarin)))
	if [ $(($ARININTERVAL - $INTERVAL)) -lt 0 ]; then
		date
		echo ARIN load
		/usr/local/sbin/pwhois-arinsnapshot-load
		touch $HOME/.lastarin
	else
		date
		echo No ARIN load this time
	fi
	date
	echo pwhoisd reload
	#/etc/init.d/pwhoisd reload
	kill -1 `cat /var/run/pwhoisd.pid`

	date
	echo Sleep 1 hour
	sleep 3600

	INTERVAL=$(($(date +%s) - $(stat -c %Y $HOME/.lastfullvacuum)))
	if [ $(($FULLVACUUM - $INTERVAL)) -lt 0 ]; then
		date
		echo Vacuuming full
		vacuumdb -a -v -z -f
		touch $HOME/.lastfullvacuum
	else
		date
		echo Vacuuming
		vacuumdb -a -v
	fi
done
	
