A principal diferença que você está procurando é que cron
não está funcionando constantemente. Como explicado em man cron
:
cron then wakes up every minute, examining all stored crontabs, check‐
ing each command to see if it should be run in the current minute.
When executing commands, any output is mailed to the owner of the
crontab (or to the user named in the MAILTO environment variable in the
crontab, if such exists). The children copies of cron running these
processes have their name coerced to uppercase, as will be seen in the
syslog and ps output.
Em outras palavras, cron
será iniciado apenas uma vez por minuto e testará se deve ser executado. Sua abordagem do sono, por outro lado, exigiria que seu sleep
comando real , seu shell, seu terminal e o while
loop (ou qualquer outro) fossem executados ao mesmo tempo.
Mesmo se eles estivessem lançando o mesmo número de processos, cron
seria melhor. Foi escrito precisamente para isso por pessoas que tendem a ser muito boas em seu trabalho. É obrigado a fazer um trabalho melhor do que um simples loop de shell.