Os computadores fazem exatamente o que eles dizem. A única maneira de garantir que um script "se comporte corretamente" é escrevê-lo para que ele se comporte adequadamente, em todos os cenários.
Alguns conselhos básicos:
-
Implementar algum tipo de sistema de monitoramento.
O fato de que seu sistema explodiu sem você saber que estava vindo me diz que você não tem um sistema de monitoramento, ou o seu sistema atual não é bom o suficiente. Invista algum tempo para garantir que seus servidores informem que há um problema antes em que eles caem. -
Incluir proteções apropriadas em scripts executados no cron.
Seu script deu um passo à frente. Isso não deveria acontecer.
Você aprendeu da maneira mais difícil que precisa se proteger contra esse tipo de coisa (e fazer com que o sistema o notifique se isso acontecer). -
Projete e teste com mais detalhes.
Avalie cuidadosamente cada script que você implantará para garantir que ele não produza efeitos colaterais indesejáveis. Se você puder imaginar um cenário de falha, teste-o (e manuseie-o corretamente!). Reserve um tempo para simular falhas (seja codificando a condição para true em seu script ou gerando as circunstâncias para testar sua lógica de detecção.