#!/bin/bash DATABASES=( "authentik" "gitea" "mealie" "nextcloud" ) # Variables LOCATION="/home/juulk/docker/postgresql" RETENTION=7 DATE=$(date +"%Y-%m-%d_%H-%M-%S") BACKUP_DATE="backup-$DATE.sql" # Dump all databases and zip dump for database in "${DATABASES[@]}"; do FILE="$LOCATION/$database/$database-$BACKUP_DATE" docker exec -u postgres postgres pg_dump -d "$database" > "$FILE" gzip "$FILE" done # Delete old backups find "$LOCATION" -name "*backup*.sql.gz" -type f -mtime +$RETENTION -exec rm {} \;