diff --git a/clone-backup.sh b/clone-backup.sh index b3ef6f21..f2f189e7 100755 --- a/clone-backup.sh +++ b/clone-backup.sh @@ -305,8 +305,8 @@ transfer_backup() { backup_file=$(select_newest_local_backup "$backup_dir" "$volume_name") if [[ -z "$backup_file" ]] || [[ ! -f "$backup_file" ]]; then - if [[ "$volume_name" == *-secrets ]]; then - echo "Note: no backup for secrets volume $volume_name (regenerated at create-node), skipping" + if [[ "$volume_name" == *-secrets || "$volume_name" == *-jwt ]]; then + echo "Note: no backup for secrets/jwt volume $volume_name (regenerated at create-node), skipping" return 2 fi echo "Warning: No restorable backup file found for $volume_name, skipping" @@ -509,8 +509,8 @@ transfer_backup_ssh() { backup_file=$(select_newest_local_backup "$backup_dir" "$volume_name") if [[ -z "$backup_file" ]] || [[ ! -f "$backup_file" ]]; then - if [[ "$volume_name" == *-secrets ]]; then - echo "Note: no backup for secrets volume $volume_name (regenerated at create-node), skipping" + if [[ "$volume_name" == *-secrets || "$volume_name" == *-jwt ]]; then + echo "Note: no backup for secrets/jwt volume $volume_name (regenerated at create-node), skipping" return 2 fi echo "Warning: No restorable backup file found for $volume_name, skipping" diff --git a/list-restorable.sh b/list-restorable.sh index 55483d49..aff058da 100755 --- a/list-restorable.sh +++ b/list-restorable.sh @@ -122,6 +122,10 @@ while IFS= read -r entry; do while IFS= read -r volume; do volume_name="rpc_${volume}" + # jwt/secrets volumes are regenerated at create-node — never backed up by + # design, so they must not gate restorability (kept plasma marked + # non-restorable for days despite full data backups being present) + case "$volume" in *-jwt|*-secrets) continue ;; esac # Look for backup files matching pattern: rpc_${volume}-[0-9]*G.tar.zst backup_file=$(select_newest_local_backup "$backup_dir" "$volume_name")