init version
This commit is contained in:
24
tools/backup.sh
Executable file
24
tools/backup.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
# Daily backup for Vaultwarden data volume
|
||||
# Creates compressed tar.gz archives with 7-day rotation
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
BACKUP_DIR="/srv/docker_services/www/sites/knusperkerne/vault/backups"
|
||||
VOLUME_NAME="vaultwarden-data"
|
||||
DATE=$(date +%F)
|
||||
ARCHIVE="$BACKUP_DIR/vaultwarden_${DATE}.tar.gz"
|
||||
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
echo "[INFO] Creating backup for Vaultwarden volume: $VOLUME_NAME"
|
||||
docker run --rm \
|
||||
-v "${VOLUME_NAME}:/data:ro" \
|
||||
-v "${BACKUP_DIR}:/backup" \
|
||||
alpine tar czf "/backup/vaultwarden_${DATE}.tar.gz" /data
|
||||
|
||||
# Keep only 7 most recent backups
|
||||
echo "[INFO] Rotating old backups..."
|
||||
ls -1t "$BACKUP_DIR"/vaultwarden_*.tar.gz | tail -n +8 | xargs -r rm -f
|
||||
|
||||
echo "[OK] Backup completed: $ARCHIVE"
|
||||
Reference in New Issue
Block a user