#!/bin/sh

#------------------------------------------------------------------------------#
# preparazione variabili in base ai parametri e alla configurazione
#------------------------------------------------------------------------------#

FTP=$(sqlite3 /work/hosts/default/conf/db/settings.sqlite "select value from settings where code='BACKUP-FTP'")

if [ "$FTP" == "" ]
then
	FTP=0
fi

TMPID=$(date +%s%N)
CNF=/tmp/my$TMPID.cnf

MYSQL=/usr/local/mysql/bin/mysql
MYSQLDUMP=/usr/local/mysql/bin/mysqldump

echo "[client]" > $CNF
echo "password=f0EMDe2dw2sdLCBlq9A9pC3fAB9CQ3iiZSQ58Z5XZ59ZBHp9l2x0SejA801ZLe8V" >> $CNF

SRVNAME=$(< /srv/name)



#------------------------------------------------------------------------------#
# calcolo del set/shift per il backup incrementale
#------------------------------------------------------------------------------#

. /work/scripts/calcsetshift



#------------------------------------------------------------------------------#
# backup dei virtualhosts
#------------------------------------------------------------------------------#

SQL="SELECT d.nome FROM gpanel.virtualhosts AS v INNER JOIN gpanel.domini AS d ON v.idDominio = d.id  WHERE backup"
VHS=$($MYSQL --defaults-extra-file=$CNF -h 127.0.0.1 -u backup -B gpanel -N -e "$SQL")

for vh in $VHS
do
	if [ "$LEVEL" == "0" ]
	then
		rm -r /backup/$vh/auto/$SET
	fi
	
	/work/scripts/backuphost $vh auto/$SET/$SHIFT $FTP 1 $LEVEL
done



#------------------------------------------------------------------------------#
# backup di gPanel e mysql
#------------------------------------------------------------------------------#

OPTS="--triggers --routines --events --skip-lock-tables --single-transaction --quick --hex-blob --default-character-set=utf8mb4"

DAY=$(echo `date +%s` | sed 's/^0*//')
DAY=$(( DAY / 24 / 60 / 60 ))
SHIFT=$(( DAY % 30 + 1 ))

DEST=/backup/gpanel
FILE=gpanel.$SHIFT.sql
mkdir -p $DEST
$MYSQLDUMP --defaults-extra-file=$CNF $OPTS -h 127.0.0.1 -u backup -B gpanel --result-file=$DEST/$FILE
gzip -f9 $DEST/$FILE
sendftp $DEST/$FILE.gz /backup/$SRVNAME/gpanel/$FILE.gz &

DEST=/backup/mysql
FILE=mysql.$SHIFT.sql
mkdir -p $DEST
$MYSQLDUMP --defaults-extra-file=$CNF $OPTS -h 127.0.0.1 -u backup -B mysql --result-file=$DEST/$FILE
gzip -f9 $DEST/$FILE
sendftp $DEST/$FILE.gz /backup/$SRVNAME/mysql/$FILE.gz &



#------------------------------------------------------------------------------#

rm $CNF
