Você precisa definir um PATH
explícito para que um script seja executado em cron
. O padrão é PATH=/usr/bin:bin
e você precisa (pelo menos) /sbin
.
#!/bin/bash
export PATH=/usr/local/bin/:/usr/bin:/bin:/usr/sbin:/sbin
...
Você também pode considerar ajustar as opções no ping
teste ligeiramente. O -o
permite que ping
saia assim que receber uma resposta (ou seja, o host está ativo). O -W1000
força um limite superior no tempo que irá aguardar por uma confiança. Nos meus testes, isso fez com que ping
esperasse no máximo quatro segundos; sem isso eu tive que esperar 14 segundos por uma resposta de falha:
ping -q -c3 -o -W1000 "${MAC}"