Cron tips
Tips for writing crontab expressions:
- If the day-of-month or day-of-week part starts with a *, they form an intersection. Otherwise they form a union. * * 3 * 1 runs on the 3rd day of the month and on Monday (union), whereas * * */2 * 1 runs on every second day of the month only if it's also a Monday (intersection). The manpage is incorrect about this detail. More info.
- Run your servers including the cron process in UTC timezone. Why?
- Some cron implementations allow to specify years and seconds. However, cron is not the best tool if you need to operate at those levels.
- Don't use @reboot because it has too many issues.
- More difficult schedules can be realized by combining multiple cron expressions. For example, if you need to run X every 90 minutes, create one crontab entry that runs X every 3 hours on the hour (0 */3 * * *), and a second crontab entry that runs X every 3 hours with an offset (30 1/3 * * *).
- Another alternative for complicated schedules is Mcron.
More tips: Best practices for cron