#!/bin/bash # Try generating a backup multiple times. If one attempt succeeds, we're # done. If not, there will be logs for every attempt, plus monitoring # will read the result of the last backup. for try in {1..3} do generate-backup "$try" exitcode=$? if [[ $exitcode -eq 100 ]] then # fatal error, cannot recover exit 1 elif [[ $exitcode -eq 0 ]] then # successful backup exit 0 else sleep 60 fi done