#!/bin/bash # Change to the script's directory & create directory cd $(dirname "$(readlink -f "$0")") mkdir -p ./dbdumps # Start mysql service docker-compose --log-level ERROR up -d mysql # Wait i=20 while (( i >= 1 )); do sleep 1 echo -ne echo -ne "Wait for DB to initialize. Creating Dump in $(( i-- )) seconds ... "'\r' done # Load database name + root password source .env # Delete old Backups find ./dbdumps/* -atime +7 -exec rm {} \; docker-compose exec -T mysql /usr/bin/mysqldump -u root \ --password=$MYSQL_ROOT_PASSWORD \ --ignore-table=zabbix.acknowledges \ --ignore-table=zabbix.alerts \ --ignore-table=zabbix.auditlog \ --ignore-table=zabbix.auditlog_details \ --ignore-table=zabbix.escalations \ --ignore-table=zabbix.events \ --ignore-table=zabbix.history \ --ignore-table=zabbix.history_log \ --ignore-table=zabbix.history_str \ --ignore-table=zabbix.history_str_sync \ --ignore-table=zabbix.history_sync \ --ignore-table=zabbix.history_text \ --ignore-table=zabbix.history_uint \ --ignore-table=zabbix.history_uint_sync \ --ignore-table=zabbix.trends \ --ignore-table=zabbix.trends_uint \ $MYSQL_DATABASE \ | gzip --rsyncable > ./dbdumps/`date +\%Y\%m\%d`-$MYSQL_DATABASE.sql.gz