Из ваших тегов вопросов я понимаю, что вы запускаете демон оболочки. Поэтому я предлагаю использовать crontab, так как он уже ждет, чтобы сигнализировать вашему демону.
В вашем демоне оболочки вам нужен обработчик сигнала
handler() {
echo "$(date): doing something special" >> $LOG
}
вы должны перехватить сигнал, в данном примере SIGALRM
trap handler ALRM
и в вашем crontab отправьте сигнал, предполагая, что ваш демон - daemon.sh
0 0 * * * killall -s SIGALRM daemon.sh