Ik zou altijd een cronjob doen, omdat:
- Dat is waar systeembeheerders het verwachten (dit punt moet niet worden onderschat)
- crontab is kogelvrij, beproefd, extreem veel gebruikt en begrepen
- U kunt vrijelijk fout-/succesberichten sturen/analyseren waar u maar wilt
- Sommige databasetaken vereisen/voorkeuren dat mysql offline is (bijv. volledige back-up), dus daarvoor moet je cron gebruiken - het is een slecht idee om sommige taken met cron en andere met mysql te laten doen; je weet niet waar je moet kijken
- Je kunt andere gebeurtenissen die zouden moeten volgen aan elkaar koppelen als je een shellscript hebt
En tot slot, gewoon omdat je kunt iets doen, betekent niet dat het een goed idee is. Mysql is goed in data-dingen. Gebruik het niet voor "shell"-dingen.