Provavelmente porque seu $PATH difere em tarefas agendadas e não pode encontrar o hdparm. Especifique o caminho completo para hdparm , que você pode encontrar via type -p hdparm .
Sugiro também executar um trabalho cron como:
env | sort >$HOME/cron.env
echo $PATH | tr ':' "\n" >$HOME/cron.path
Para ver como é o seu ambiente cron . Mais geralmente, observe todos os seus ambientes de execução.