diff --git a/backup-synapse.sh b/backup-synapse.sh index 8bf2171..974f25f 100755 --- a/backup-synapse.sh +++ b/backup-synapse.sh @@ -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 diff --git a/cleanup-backups.sh b/cleanup-backups.sh index d4a941a..61d9455 100755 --- a/cleanup-backups.sh +++ b/cleanup-backups.sh @@ -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() { diff --git a/copy.sh b/copy.sh index b35fdd9..1e87bc9 100755 --- a/copy.sh +++ b/copy.sh @@ -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/