From 48f2e9a2cbc35aefc11e14e8504f0090414291c8 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Thu, 29 Aug 2024 20:22:56 +0200 Subject: feat(stdlib): added a basic borg client custom promise --- stdlib/backups/borg/borg-script-template | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 stdlib/backups/borg/borg-script-template (limited to 'stdlib/backups/borg/borg-script-template') diff --git a/stdlib/backups/borg/borg-script-template b/stdlib/backups/borg/borg-script-template new file mode 100644 index 0000000..c09c297 --- /dev/null +++ b/stdlib/backups/borg/borg-script-template @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -euo pipefail + +on_exit() { + exit $? +} +trap on_exit EXIT + +archiveName="%s-%s-$(date +%%Y-%%m-%%dT%%H:%%M:%%S)" +archiveSuffix=".failed" + +# Run borg init if the repo doesn't exist yet +if ! borg list > /dev/null; then + borg init --encryption none +fi +( + borg create \ + --compression auto,zstd \ + "::${archiveName}${archiveSuffix}" \ + '%s' +) +borg rename "::${archiveName}${archiveSuffix}" "${archiveName}" + +borg prune \ + --keep-daily=14 --keep-monthly=3 --keep-weekly=4 \ + --glob-archives '%s-%s*' +borg compact -- cgit v1.2.3