diff --git a/dev/test_recovery.py b/dev/test_recovery.py index ca8ac76..fa6794e 100644 --- a/dev/test_recovery.py +++ b/dev/test_recovery.py @@ -10,6 +10,11 @@ ROOT = Path(__file__).resolve().parents[1] class RecoveryScriptTests(unittest.TestCase): + def test_latest_alias_points_to_production_backup(self) -> None: + script = (ROOT / "restore.sh").read_text(encoding="utf-8") + self.assertIn("if [[ $ARCHIVE == latest ]]", script) + self.assertIn("ARCHIVE=/data/docker-backups/athena-latest.tar.gz", script) + def _archive(self, members: list[str]) -> Path: tmp = tempfile.NamedTemporaryFile(suffix=".tar.gz", delete=False) tmp.close() diff --git a/restore.sh b/restore.sh index 810558c..f187292 100755 --- a/restore.sh +++ b/restore.sh @@ -10,6 +10,9 @@ if [[ ${1:-} == --check ]]; then shift fi ARCHIVE=${1:-/data/docker-backups/athena-latest.tar.gz} +if [[ $ARCHIVE == latest ]]; then + ARCHIVE=/data/docker-backups/athena-latest.tar.gz +fi die() { printf 'FEHLER: %s\n' "$*" >&2; exit 1; } [[ -s $ARCHIVE ]] || die "Backup fehlt: $ARCHIVE"