What does 0 0 * * * mean?
The first two fields are 0 0 — minute 0, hour 0 — which is 12:00 AM midnight. The remaining three * * * wildcards match every day of the month, every month, and every day of the week. The result is a single daily execution at the start of each calendar day.
Daily cron jobs are the backbone of routine system maintenance: database backups (pg_dump, mysqldump), log rotation (logrotate or a custom archival script), daily report generation (traffic analytics, sales summaries), certificate renewal checks (Certbot runs daily by default), and cleanup tasks (removing temporary files older than 24 hours).
Timezone matters for daily jobs
A "midnight daily" schedule is only at midnight in the timezone the cron daemon uses. Production Linux servers typically run in UTC. If your database backup runs at 0 0 * * * in UTC, it runs at midnight UTC — which may be late evening or early morning in your local timezone. Always verify the server timezone with timedatectl before scheduling sensitive daily jobs.