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 ### ### CONFIG ###
DATE=$(date +%F) 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" BACKUP_DIR="$BASE_BACKUP_DIR/$DATE"
SYNAPSE_DIR="/opt/synapse" SYNAPSE_DIR="/opt/synapse"
@@ -16,16 +17,24 @@ POSTGRES_USER="matrix"
NGINX_DIR="/etc/nginx" NGINX_DIR="/etc/nginx"
LETSENCRYPT_DIR="/etc/letsencrypt" 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 "📦 Synapse backup started"
echo "📅 Date: $DATE" echo "📅 Date: $DATE"
echo "📁 Backup dir: $BACKUP_DIR" echo "📁 Backup dir: $BACKUP_DIR"
echo echo
mkdir -p "$BACKUP_DIR"
cd "$SYNAPSE_DIR" cd "$SYNAPSE_DIR"
### 1️⃣ Stop ONLY Synapse ### 1️⃣ Stop ONLY Synapse
echo "⏸ Stopping ONLY Synapse service (Postgres stays running)..." echo "⏸ Stopping ONLY Synapse service (Postgres stays running)..."
docker compose stop synapse docker compose stop synapse
@@ -39,6 +48,11 @@ docker compose exec -T "$POSTGRES_SERVICE" \
echo "✅ PostgreSQL backup done" echo "✅ PostgreSQL backup done"
echo echo
### 7️⃣ Start Synapse again
echo "▶ Starting Synapse service..."
docker compose up -d synapse
echo
### 3️⃣ Synapse data backup ### 3️⃣ Synapse data backup
echo "📁 Backing up Synapse data directory..." echo "📁 Backing up Synapse data directory..."
tar -cJf "$BACKUP_DIR/synapse-data.tar.xz" \ 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 "✅ Let's Encrypt backup done"
echo echo
### 7️⃣ Start Synapse again
echo "▶ Starting Synapse service..."
docker compose up -d synapse
echo
### 8️⃣ Optional: Full combined archiveve (run with sudo) ### 8️⃣ Optional: Full combined archiveve (run with sudo)
echo "📦 Creating full backup archive..." echo "📦 Creating full backup archive..."
tar -czvf "$BASE_BACKUP_DIR/full-backup-$DATE.tar.gz" \ tar -czvf "$BASE_BACKUP_DIR/full-backup-$DATE.tar.gz" \
@@ -89,7 +98,3 @@ echo
echo "✅✅ Backup completed successfully" echo "✅✅ Backup completed successfully"
echo echo
echo "▶ Running cleanup script ..."
./cleanup-backups.sh --run
+3 -2
View File
@@ -3,9 +3,10 @@ set -euo pipefail
### CONFIG ### ### CONFIG ###
DATE=$(date +%F) DATE=$(date +%F)
BACKUPS_DIR="$HOME/backups/synapse" #BACKUPS_DIR="$HOME/backups/synapse"
BACKUPS_DIR="/mnt/disk/backups/synapse"
DRY_RUN=true DRY_RUN=true
KEEP_COUNT=4 KEEP_COUNT=1
# Function to display usage information # Function to display usage information
usage() { usage() {
+8 -1
View File
@@ -1,8 +1,15 @@
#!/bin/bash #!/bin/bash
DATE=$(date +%F) DATE=$(date +%F)
#DATE="2026-03-30"
BACKUP_DIR="/mnt/disk/backups"
echo "Today Date is : $DATE" 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/