Provavelmente é por causa do $PATH . Faça isso no seu shell fora de crontab :
command -v searchd | xargs dirname
Este comando retornará um diretório onde searchd está em seu sistema ou um erro se você não tiver searchd em seu $PATH , mesmo em um shell interativo. Agora faça isso no topo do seu script que você executa em crontab :
PATH=<directory_from_above_command>:$PATH
Como alternativa, basta usar um caminho completo para searchd em vez de which searchd .
Leia também isto em which se você quiser entender como isso funciona: Por que não usar" que "? O que usar então? .