O principal problema com tarefas cron similares é que você não pode depurá-las facilmente.
Normalmente, as tarefas do cron devem funcionar silenciosamente se não houver erro , mas devem ser muito detalhadas no caso de qualquer erro.
Estendendo a resposta do EgorVasilev, você pode facilmente ativar um "modo de depuração" em um script de script bash pelo
#!/bin/bash -x
exec 2>>/var/log/cron.log
comandos . O primeiro interpreta seu script pelo -x
flag, o que significa, você irá obter todos os comandos executados no stderr.
E exec 2>>/var/log/cron.log
é um comando que não executa nada , em vez disso, ele redireciona o erro padrão para um arquivo de log, no modo de anexação. Essencialmente, o interpretador de shell "executa novamente" com os redirecionamentos fornecidos, sem alterar o contexto de execução do script .