Crontab Every Minute (* * * * *)
Run a cron job every single minute. The simplest cron expression using all wildcards. Useful for real-time monitoring scripts.
Detailed Explanation
Running a Cron Job Every Minute
The expression * * * * * is the simplest possible cron schedule. Every field is set to the wildcard *, meaning the job matches every minute of every hour of every day of every month on every day of the week.
Field Breakdown
| Field | Value | Meaning |
|---|---|---|
| Minute | * | Every minute |
| Hour | * | Every hour |
| Day of Month | * | Every day |
| Month | * | Every month |
| Day of Week | * | Every day |
How It Works
When cron evaluates this expression, it finds a match at every single minute tick (00, 01, 02, ... 59) of every hour. This means the scheduled command will execute 1,440 times per day (60 minutes x 24 hours).
Performance Considerations
Running a job every minute can put significant load on your system, especially if the command involves disk I/O, network calls, or database queries. Always ensure:
- The job completes within 60 seconds to avoid overlapping runs
- Use a lock file or
flockto prevent concurrent execution - Monitor CPU and memory usage
Example Crontab Entry
* * * * * /usr/local/bin/check-health.sh >> /var/log/health.log 2>&1
This runs a health check script every minute and appends the output to a log file.
Use Case
Ideal for real-time monitoring systems, health check scripts, queue processors that need near-instant response, or development environments where you want to test cron behavior quickly.