9 Commits
Author SHA1 Message Date
Kevin BATAILLE 45d2b2be77 Remove max delete from Rclone 2026-07-27 14:18:50 +00:00
Kevin BATAILLE 61742efea0 Reduce delete quantity on Rsync clone to avoid failed backup 2026-07-27 13:22:09 +00:00
kbeandClaude Sonnet 5 bfafb09ee6 fix: also exclude logs/ (plural) directories from the archive
Some sites use logs/ instead of log/ (e.g. webscroll.fr/logs/nginx/) -
the previous re:/log/ pattern didn't match the plural, so those files
kept showing up as modified every backup.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-25 23:06:32 +02:00
kbeandClaude Sonnet 5 cd17727ff9 fix: make rclone sync more resilient to Scaleway throttling
Offsite sync hit 17 fatal IO errors deleting stale segment files after a
large one-off prune batch (from the recent log/-exclude change), and
rclone's default behavior is to bail immediately on delete errors rather
than retry. Lower concurrency (--transfers 8->4, --checkers 16->8) to
reduce rate-limit pressure, and make retries explicit (--retries 5,
--retries-sleep 10s, --low-level-retries 20) instead of relying on
defaults.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-25 22:56:50 +02:00
kbeandClaude Sonnet 5 682ba9d64d feat: exclude per-site log/ directories from the archive
nginx access/error logs (and any other per-site log/ dir) change on
every request, so they showed up as modified in every single backup -
pure noise, no recovery value. Exclude any path containing a log/
directory (re:/log/) from borg create.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-25 21:46:35 +02:00
kbeandClaude Sonnet 5 dd4fd8cb9c fix: point dump_db.sh at its /opt/backup-agent deploy path, remove healthcheck
dump_db.sh no longer lives under $TARGET, so its own default dump
directory (relative to wherever the script is) would land outside the
backed-up tree. Pin DUMP_SCRIPT to /opt/backup-agent/dump_db.sh and
export DUMP_DIR explicitly so dumps still land in $TARGET/mariadb/dump
regardless of where the script itself is deployed.

Also drop the healthcheck integration (HEALTHCHECK_URL, send_healthcheck,
curl requirement) from borg-backup.sh per request - no monitoring hook
wanted for now.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-25 21:30:17 +02:00
kbe 88696d6e30 Update chmod 2026-07-25 21:25:05 +02:00
kbe e40802deeb No more healthcheck 2026-07-25 21:23:17 +02:00
kbe d6f30c506e chore: initial import of backup scripts and design docs
Existing borg-backup.sh/dump_db.sh, old/ reference scripts, and the
brainstormed design spec for restore tooling + runbook.
2026-07-25 18:51:38 +02:00