Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment faire en sorte qu'un script Shell continue après le redémarrage ?

Vous voudrez peut-être réécrire votre code pour qu'il ressemble à ceci :

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

Ainsi, vous seriez au courant de ce qui a été fait en testant la valeur de step .

Ensuite, vous pouvez définir un trap avant le while boucle est exécutée, de sorte qu'en sortie, la valeur de step est écrit dans un fichier journal :

trap "echo step=$step > log_file" EXIT

Ensuite, tout ce que vous avez à faire est de source le fichier journal au début du script, et le dernier continuera son travail là où il a été arrêté.