Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como fazer com que um script Shell continue após a reinicialização?


Você pode querer reescrever seu código para que fique assim:
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

Então você estaria ciente do que foi feito testando o valor de step .

Então, você pode querer definir uma trap antes do while loop é executado, de modo que, ao sair, o valor de step é gravado em um arquivo de log:
trap "echo step=$step > log_file" EXIT

Então, tudo que você precisa fazer é source o arquivo de log no início do script, e o último continuará seu trabalho onde foi interrompido.