16 lines
554 B
Bash
16 lines
554 B
Bash
#!/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)"
|