#!/bin/bash
# script de còpia de seguretat de l'aplicatiu
ARXIUSQL=/var/www/aplicatiu/etc/copiaBDAplicatiu
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"

RSYNC_HOST="10.87.0.12"

DATABASES="$(mysql -s --execute='SHOW DATABASES;' | grep -v 'performance_schema\|information_schema\|mysql\|sys\|phpmyadmin')"
for DATABASE in ${DATABASES[@]}; do
    DB_PATH="$ARXIUSQL-$DATABASE-$(hostname).sql.gz"
    DUMP_COMMAND="mysqldump --quick --single-transaction --skip-extended-insert --databases '$DATABASE'"
    GZIP_COMMAND="gzip -c >$DB_PATH"
    RM_COMMAND="rm '$DB_PATH'"
    printf "%s | %s \n" "$DUMP_COMMAND" "$GZIP_COMMAND"
    if ! eval "$DUMP_COMMAND | $GZIP_COMMAND "; then
        printf "Error en fer la còpia de la BD \n %s \n" "$COMMAND" >&2
    else
        SCP_COMMAND="rsync '$DB_PATH' rsync://$RSYNC_HOST/backup-dbs/"
        printf "%s && %s \n" "$SCP_COMMAND" "$RM_COMMAND"
        eval "$SCP_COMMAND"
        eval "$RM_COMMAND"
    fi
done

RSYNC_COMMAND="rsync -auWKO --no-o --copy-unsafe-links --bwlimit=50000 --exclude-from '$SCRIPT_DIR/noSincronitzarDades' --timeout=6000 /var/www/* rsync://$RSYNC_HOST/backup-$(hostname -s)/"
printf "%s \n" "$RSYNC_COMMAND"
if ! eval "$RSYNC_COMMAND"; then
    printf "Error en fer la còpia de les dades de l'Aplicatiu \n %s \n" "$RSYNC_COMMAND" >&2
fi

