#!/bin/bash
# Dump the Library database to a per-weekday file (seven self-rotating copies).
set -euo pipefail

cnf=${XDG_CONFIG_HOME:-$HOME/.config}/library_manager/dump.cnf
dir=${XDG_DATA_HOME:-$HOME/.local/share}/library_manager/dumps
out=$dir/Library-$(LC_ALL=C date +%a).sql.gz

umask 077
mkdir -p "$dir"

# Write to a temporary file so a failed dump never replaces a good one
tmp=$(mktemp "$dir/.dump.XXXXXX")
trap 'rm -f "$tmp"' EXIT

mariadb-dump --defaults-extra-file="$cnf" --single-transaction --databases Library | gzip > "$tmp"
mv "$tmp" "$out"
