Na minha opinião, eu iria com o cron. Em grande parte, porque é muito menos complicado e mais fácil de implementar.
A outra opção requer que você se esforce para daemonizar o processo e criar um script de inicialização para ele. Há muito que pode dar errado lá. E há uma boa chance de que um bug ou um erro de matança possa fazer com que o daemon morra. (você vai fazer um processo cron para checar seu daemon?)
No cron, boa parte desse trabalho pesado já foi tratado pelo cron. É um daemon de rocksolid, tem um agendamento para baixo, e se o seu script explodir, você receberá um E-Mail da saída.
- Christopher Karel