#!/bin/sh set -eu umask 027 DESTDIR="/export/backup" DATE="$(date +%Y-%m-%d)" if [ ! -d "$DESTDIR" ]; then echo "ERR: MariaDB backup directory [${DESTDIR}] does not exist" 1>&2 exit 1 fi cd "$DESTDIR" && { find . -xdev -mindepth 2 -maxdepth 2 -type f -mtime +7 \ -execdir rm -f -- {} \; find . -xdev -depth -mindepth 1 -maxdepth 1 -type d -empty \ -execdir rmdir -- {} \; } DESTDIR="${DESTDIR}/${DATE}" mkdir "$DESTDIR" for db in $(mysql -e "show databases" -s) ; do case "$db" in Database|information_schema|performance_schema) continue ;; esac mysqldump -E --add-drop-table "$db" | gzip > "${DESTDIR}/${db}.${DATE}.gz" done