fix(release): publish monthly backup marker after successful copy

This commit is contained in:
cesnimda
2026-11-10 13:26:37 +01:00
parent cedf33a358
commit 24a629972e
5 changed files with 115 additions and 9 deletions
+20 -8
View File
@@ -525,12 +525,14 @@ apply_backup_retention() {
return 1
fi
local month monthly_root monthly_dir
local month monthly_root monthly_dir complete_tmp
month="$(TZ="$timezone" date +%Y-%m)"
monthly_root="$BACKUP_DIR/monthly"
monthly_dir="$monthly_root/$month"
mkdir -p "$monthly_root"
chmod 700 "$monthly_root"
if ! mkdir -p "$monthly_root" || ! chmod 700 "$monthly_root"; then
echo "Could not prepare monthly backup directory. Aborting deploy."
return 1
fi
local current_files=("$BACKUP_DIR"/jobtracker-*"-$BACKUP_STAMP".*)
if [ ! -e "${current_files[0]}" ]; then
@@ -539,11 +541,21 @@ apply_backup_retention() {
fi
if [ ! -f "$monthly_dir/.complete" ]; then
mkdir -p "$monthly_dir"
chmod 700 "$monthly_dir"
cp --preserve=mode,timestamps -- "${current_files[@]}" "$monthly_dir/"
printf '%s\n' "$BACKUP_STAMP" > "$monthly_dir/.complete"
chmod 600 "$monthly_dir/.complete"
if ! mkdir -p "$monthly_dir" || ! chmod 700 "$monthly_dir" ||
! cp --preserve=mode,timestamps -- "${current_files[@]}" "$monthly_dir/"; then
echo "Could not retain monthly recovery files. Aborting deploy."
return 1
fi
if ! complete_tmp="$(mktemp "$monthly_dir/.complete.XXXXXX")"; then
echo "Could not create monthly recovery marker. Aborting deploy."
return 1
fi
if ! printf '%s\n' "$BACKUP_STAMP" > "$complete_tmp" ||
! mv -T -- "$complete_tmp" "$monthly_dir/.complete"; then
rm -f -- "$complete_tmp"
echo "Could not publish monthly recovery marker. Aborting deploy."
return 1
fi
echo "Monthly recovery set retained: ${monthly_dir}"
fi