update backup-synapse script and cleanup

change directory of backup files
first run cleanup script then create backup
start synapse service after db backup (do now wait for media files)
This commit is contained in:
2026-04-15 14:18:09 +03:30
parent f4de17d01f
commit 8a08bbc28a
3 changed files with 28 additions and 15 deletions
+17 -12
View File
@@ -3,7 +3,8 @@ set -euo pipefail
### CONFIG ###
DATE=$(date +%F)
BASE_BACKUP_DIR="$HOME/backups/synapse"
#BASE_BACKUP_DIR="$HOME/backups/synapse"
BASE_BACKUP_DIR="/mnt/disk/backups/synapse"
BACKUP_DIR="$BASE_BACKUP_DIR/$DATE"
SYNAPSE_DIR="/opt/synapse"
@@ -16,16 +17,24 @@ POSTGRES_USER="matrix"
NGINX_DIR="/etc/nginx"
LETSENCRYPT_DIR="/etc/letsencrypt"
### PREP ###
mkdir -p "$BACKUP_DIR"
### remove old files ###
cd $BASE_BACKUP_DIR
echo "▶ Running cleanup script ..."
./cleanup-backups.sh --run
### PREP ###
echo "📦 Synapse backup started"
echo "📅 Date: $DATE"
echo "📁 Backup dir: $BACKUP_DIR"
echo
mkdir -p "$BACKUP_DIR"
cd "$SYNAPSE_DIR"
### 1️⃣ Stop ONLY Synapse
echo "⏸ Stopping ONLY Synapse service (Postgres stays running)..."
docker compose stop synapse
@@ -39,6 +48,11 @@ docker compose exec -T "$POSTGRES_SERVICE" \
echo "✅ PostgreSQL backup done"
echo
### 7️⃣ Start Synapse again
echo "▶ Starting Synapse service..."
docker compose up -d synapse
echo
### 3️⃣ Synapse data backup
echo "📁 Backing up Synapse data directory..."
tar -cJf "$BACKUP_DIR/synapse-data.tar.xz" \
@@ -67,11 +81,6 @@ sudo tar -czvf "$BACKUP_DIR/letsencrypt.tar.gz" \
echo "✅ Let's Encrypt backup done"
echo
### 7️⃣ Start Synapse again
echo "▶ Starting Synapse service..."
docker compose up -d synapse
echo
### 8️⃣ Optional: Full combined archiveve (run with sudo)
echo "📦 Creating full backup archive..."
tar -czvf "$BASE_BACKUP_DIR/full-backup-$DATE.tar.gz" \
@@ -89,7 +98,3 @@ echo
echo "✅✅ Backup completed successfully"
echo
echo "▶ Running cleanup script ..."
./cleanup-backups.sh --run
+3 -2
View File
@@ -3,9 +3,10 @@ set -euo pipefail
### CONFIG ###
DATE=$(date +%F)
BACKUPS_DIR="$HOME/backups/synapse"
#BACKUPS_DIR="$HOME/backups/synapse"
BACKUPS_DIR="/mnt/disk/backups/synapse"
DRY_RUN=true
KEEP_COUNT=4
KEEP_COUNT=1
# Function to display usage information
usage() {
+8 -1
View File
@@ -1,8 +1,15 @@
#!/bin/bash
DATE=$(date +%F)
#DATE="2026-03-30"
BACKUP_DIR="/mnt/disk/backups"
echo "Today Date is : $DATE"
rsync --verbose --progress --partial --checksum "lost:~/backups/synapse/full-backup-$DATE.tar.gz" .
# download navidrome backup
#rsync --verbose --progress --partial --checksum "lost:$BACKUP_DIR/navidrome-data-$DATE.tar.xz" .
rsync --recursive --verbose --progress --partial --checksum "lost:/opt/navidrome/backup" navidrome/
# synapse backup
rsync --recursive --verbose --progress --partial --checksum lost:$BACKUP_DIR/synapse/logs synapse/
rsync --verbose --progress --partial --checksum "lost:$BACKUP_DIR/synapse/full-backup-$DATE.tar.gz" synapse/