#!/bin/sh set -eu umask 077 D() { date "+%Y-%m-%d %H:%M:%S"; } TS=$(date +%Y%m%d_%H%M%S) OUT="/backup/soft-serve_${TS}" mkdir -p "$OUT" echo "[$(D)] Starting soft-serve backup -> $OUT" tar czf "$OUT/repos-config.tar.gz" -C /data repos hooks config.yaml ssh sqlite3 /data/soft-serve.db ".backup '$OUT/soft-serve.db'" chmod 600 "$OUT/repos-config.tar.gz" "$OUT/soft-serve.db" if [ -n "${BACKUP_UID:-}" ] && [ -n "${BACKUP_GID:-}" ]; then chown -R "$BACKUP_UID:$BACKUP_GID" "$OUT" /backup/backup.log fi echo "[$(D)] Backup OK: $(du -sh "$OUT" | cut -f1)"