#!/bin/bash
DBNAME="ubuk"
SNAME=$(basename $0)
RUNFILE=/var/opt/bukdbase/tmp/${SNAME}.run
LOG=/var/opt/bukdbase/log/${SNAME}.$(date +%y%m%d).log
MSGFILE=/var/opt/bukts/run/shiftopen.msg
DEMON_PSQL=/etc/init.d/postgresql

if [ -f $RUNFILE ]; then
    if [ ! -f $MSGFILE ]; then
	rm $RUNFILE
        echo "Идет обслуживание базы данных (c $(date +%H:%M:%S))" > $MSGFILE
        echo "== $(date +%H:%M:%S.%N) == $SNAME == start ==" >> $LOG

        echo ">> $(date +%H:%M:%S.%N) >> $DEMON_PSQL stop" >> $LOG
        sudo $DEMON_PSQL stop >>$LOG 2>> $LOG

        echo ">> $(date +%H:%M:%S.%N) >> $DEMON_PSQL start" >> $LOG
        sudo $DEMON_PSQL start >>$LOG 2>> $LOG

        echo ">> $(date +%H:%M:%S.%N) >> VACUUM VERBOSE ANALYZE" >> $LOG
        psql ubuk -c "VACUUM VERBOSE ANALYZE" >>$LOG 2>> $LOG

        echo ">> $(date +%H:%M:%S.%N) >> reindexdb -d $DBNAME" >> $LOG
        /usr/bin/reindexdb -d $DBNAME >>$LOG 2>> $LOG

        echo "== $(date +%H:%M:%S.%N) == $SNAME == end ====" >> $LOG
        echo "Выполнено обслуживание БД, необходима перезагрузка компьютера." > $MSGFILE
    else
        echo "!! $(date +%H:%M:%S.%N) == существует файл \"$MSGFILE\", обслуживание БД отменено ==" >> $LOG
    fi
else
    echo "-- $(date +%H:%M:%S.%N) -- файл \"$RUNFILE\" не существует, обслуживание БД не требуется --" >> $LOG
fi
echo >> $LOG

