Además de otras respuestas, especialmente el enlace publicado por @soulcake: si programa un comando de ejecución larga con un intervalo demasiado corto, cron ejecutará felizmente el segundo antes de que se complete el primero (a menos que haya algún tipo de mutex implementado en el comando) .
Eso a menudo ralentiza aún más el comando original, lo que lleva a que se ejecute otra instancia antes de que se completen las anteriores, etc. O puede ser indeseable por otras razones.
La forma general de prevenir es condicionar la ejecución del comando con una protección que garantiza que un comando anterior no se esté ejecutando. Por ejemplo:
10 * * * * pgrep my_slow_command >/dev/null || /usr/local/bin/my_slow_command
Asegúrese de que pgrep coincida con el nombre del comando cuando se ejecuta, por ejemplo, los scripts de python tienen python como nombre del ejecutable, que probablemente no sea lo suficientemente específico y que también tenga que coincidir con el nombre del script de python.
10 * * * * pgrep -f my_script.py || /usr/local/bin/my_script.py
(pgrep sin la opción '-f' coincide con los nombres de script bash)
Si no puede usar pgrep por alguna razón:
10 * * * * ps ax | grep [m]y_command || /usr/local/bin/my_command
Los corchetes se usan para evitar coincidir con el comando grep.