#!/bin/sh

#------------------------------------------------------------------------------#
# parametri
#------------------------------------------------------------------------------#

# 1 virtual host (basename, es. test.3ware.it)
# 2 database
# 3 destinazione da usare al di sotto di /backup/$VH (es. manual/2021201123456)
# 4 ftp (bit sì/no)



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

VH=$1
SCHEMA=$2
PARTIAL=$3
FTP=$4

DEST=/backup/$VH/$PARTIAL
mkdir -p $DEST
date +%s%N | cut -b1-13 > $DEST/timestamp
touch $DEST/running

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

SRVNAME=$(< /srv/name)



#------------------------------------------------------------------------------#
# backup nella cartella locale
#------------------------------------------------------------------------------#

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

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

OPTS="--triggers --routines --events --skip-lock-tables --single-transaction --quick --hex-blob --default-character-set=utf8mb4"
#EXTRAOPTS="--column-statistics=0 --set-gtid-purged=OFF"



FILE=$SCHEMA.sql

$MYSQLDUMP --defaults-extra-file=$CNF $OPTS $EXTRAOPTS -h 127.0.0.1 -u backup -B $SCHEMA --result-file=$DEST/$FILE
gzip -f9 $DEST/$FILE
FILE=$FILE.gz

if [ "$FTP" == "1" ]
then
	sendftp $DEST/$FILE /backup/$SRVNAME/$VH/$PARTIAL/$FILE &
fi

rm $CNF
rm $DEST/running



#------------------------------------------------------------------------------#
# sblocco il dominio
#------------------------------------------------------------------------------#

/work/scripts/cancelTask $VH
