#!/bin/bash
#/usr/sbin/ntpdate ntp.ubuntu.com


#CONFIGURARE IL CRON -> nano /etc/crontab
#ATTENZIONE: modificare "document_root_vte" con il nome della cartella di vtenext e "db_name" con il nome del database
#0 2     * * *   root    cd /var/www/html/ && ./vte_backup.sh document_root_vte db_name


BACKUP_PREFIX=$(date +%Y%m%d%H%M%S)
BACKUP_DAILY=$(date +%Y%m%d)
BACKUP_DIR=_backups


if [ $# -lt 2 ]; then
        echo "==============================================="
        echo "Uso:"
        echo "./vte_backup.sh [document_root_vte] [db_name]"
        echo "==============================================="
        exit
fi

if [ -d $1 ]; then

        #create backup directory	-p, --parents	no error if existing, make parent directories as needed
        mkdir -p $BACKUP_DIR/$BACKUP_DAILY

        #backup files
        tar czf $BACKUP_DIR/$BACKUP_DAILY/$BACKUP_PREFIX.$1.tgz $1

        #backup db
        if [ -n $2 ]; then
                mysqldump -u root $2 --single-transaction --quick --routines --triggers --events | gzip -9 > $BACKUP_DIR/$BACKUP_DAILY/$BACKUP_PREFIX.$2.sql.gz
        else
                echo "Nessun backup del database eseguito!"
        fi

        #find and delete files older than 6 days + remove empty directories
        find $BACKUP_DIR/ -mtime +4 -type f -delete
        find $BACKUP_DIR/ -type d -empty -exec rmdir \{\} \; 2>/dev/null

else
        echo "==============================================="
        echo "Uso:"
        echo "./vte_backup.sh [document_root_vte] [db_name]"
        echo "==============================================="
	exit
fi
