olimp/roles/snikket/templates/backup.sh.j2
Administrator cd8becfeb3 Update 9 files
- /roles/snikket/defaults/main.yml
- /roles/snikket/tasks/main.yml
- /roles/snikket/handlers/main.yml
- /roles/snikket/templates/nginx-custom.conf.j2
- /roles/snikket/templates/backup.sh.j2
- /roles/snikket/templates/docker-compose.yml.j2
- /roles/snikket/templates/snikket.conf.j2
- /group_vars/all.yml
- /vault.yml
2026-03-23 11:53:25 +05:00

31 lines
1.0 KiB
Django/Jinja

#!/bin/bash
set -e
BACKUP_DIR="{{ snikket_backup_dir }}"
DATA_DIR="{{ snikket_data_dir }}"
CONFIG_DIR="{{ snikket_base_dir }}"
TIMESTAMP=$(date +%F-%H%M)
RETENTION_DAYS={{ snikket_backup_retention_days }}
echo "[$(date)] Starting Snikket backup..."
mkdir -p "$BACKUP_DIR"
echo "Backing up data..."
tar czf "$BACKUP_DIR/snikket-data-$TIMESTAMP.tar.gz" \
-C "$(dirname "$DATA_DIR")" \
"$(basename "$DATA_DIR")"
echo "Backing up configs..."
cp "$CONFIG_DIR/snikket.conf" "$BACKUP_DIR/snikket.conf-$TIMESTAMP"
cp "$CONFIG_DIR/docker-compose.yml" "$BACKUP_DIR/docker-compose.yml-$TIMESTAMP"
cp "{{ snikket_nginx_custom_dir }}/snikket.conf" "$BACKUP_DIR/nginx-custom.conf-$TIMESTAMP"
echo "Cleaning up backups older than $RETENTION_DAYS days..."
find "$BACKUP_DIR" -name "snikket-*.tar.gz" -mtime +$RETENTION_DAYS -delete
find "$BACKUP_DIR" -name "*.conf-*" -mtime +$RETENTION_DAYS -delete
echo "[$(date)] Backup completed successfully"
echo "Backup location: $BACKUP_DIR"
du -sh "$BACKUP_DIR"