Dúvida: loop while / until - monitorar script e reiniciar caso de erro
Salve salve,
Estou iniciando no "shell script" e gostaria de tirar uma duvida.
Tenho um script em Python que preciso que seja executado 24/7.
Porem de tempos em tempos ele me retorna um erro qualquer que por enquanto nao tenho tempo de arrumar.
Depois de quebrar a cabeça, fiz um script forkeia o output pra um .txt e sempre que aparecer a palavra "331" ele reinicia o script.
Mas, pelo que vi, não está 100%.
Pesquisando, vi que talvez posso usar o until, e falar pro programa ficar rodando de boas e quando a saida de comando foi diferente de 0 ele reinicia o script, MAS nao sei como fazer corretamente.
Segue como fiz o atual shell script pra monitorar e reinicar o script em python:
Código :
#!/bin/sh
echo "Starting Script"
while true
do
python main.py | tee -a output.txt | grep "331" | head -n 1 # run until first line with 331 occurs
echo "Restarting script..."
done
sabem aonde posso melhorar?