24 lines
524 B
Bash
24 lines
524 B
Bash
#!/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 {} \; |