diff --git a/roles/mariadb/files/mariadb-backup.sh b/roles/mariadb/files/mariadb-backup.sh index e2181bb..b2ac7cb 100755 --- a/roles/mariadb/files/mariadb-backup.sh +++ b/roles/mariadb/files/mariadb-backup.sh @@ -4,23 +4,16 @@ set -eu umask 027 -DESTDIR="/export/backup" +DESTDIR="/srv/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 +30 \ + -execdir rm -f -- {} \; +find . -xdev -depth -mindepth 1 -maxdepth 1 -type d -empty \ + -execdir rmdir -- {} \; -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" +mkdir "$DATE" for db in $(mysql -e "show databases" -s) ; do case "$db" in @@ -28,5 +21,5 @@ for db in $(mysql -e "show databases" -s) ; do continue ;; esac - mysqldump -E --add-drop-table "$db" | gzip > "${DESTDIR}/${db}.${DATE}.gz" + mysqldump -E --add-drop-table "$db" | gzip > "${DATE}/${db}.${DATE}.gz" done