sql >> Database >  >> RDS >> Mysql

Hoe kan ik een Shell-script laten doorgaan na opnieuw opstarten?

Misschien wilt u uw code herschrijven zodat deze er als volgt uitziet:

while: ; do
    case $step in
        0) command_1 && ((step++)) ;;
        1) command_2 && ((step++)) ;;
        ...
        9) command_9 && step=0 ;;
        *) echo "ERROR" >&2 ; exit 1 ;;
    esac
done

U weet dus wat er is gedaan door de waarde van step . te testen .

Dan wil je misschien een trap . instellen voor de while loop wordt uitgevoerd, zodat bij afsluiten de waarde van step wordt naar een logbestand geschreven:

trap "echo step=$step > log_file" EXIT

Dan hoef je alleen nog maar te source het logbestand aan het begin van het script, en de laatste zal zijn taak voortzetten waar hij was gestopt.



  1. Aankondiging van ClusterControl 1.7.4:Cluster-naar-cluster replicatie - Ultiem noodherstel

  2. PL/SQL-opgeslagen procedures maken met parameters in Oracle Database?

  3. Communicatieverbindingsfout, Spring Boot + MySql + Docker + Hibernate

  4. #1242 - Subquery retourneert meer dan 1 rij - mysql