Cron is a command to the Server, for a job that is to be executed at a specified time. Cron is one of the most useful tool in a server. It can be run for jobs like creating backups, cleaning files, monitoring tasks etc.
The 'crontab' command is used to edit/create cron jobs for the server.
Each user has there own crontab file and they can be accessed via command line by :
The Syntax for a crontab entry is
1 2 3 4 5 /full/path/to/the/file/example.php
Here is what each of the codes from 1-5 specifies in the syntax :
* * * * * command/or/file/path | | | | | | | | | ----------- Day of the Week (0-7) (0 and 7 = Sunday) | | | ------------ Month (1 = 'January', 12 = 'December') | | -------------- Date of Month (1 - 31) | ---------------- Hour (0 - 23) ----------------- Minute (0 - 59)
- Asterisk (*) : This is used whenever you wish to include all the values for a field.
e.g if you wish to run a cron job every hour :
0 * 20 * * /command/file/path
This command will run every hour for every 20th date of every month
- Comma (,) : When you wish to specify multiple values for a field
e.g If you wish to run a command every minute in the month of January, march and October :
* * * 1,3,10 * * /command/file/path
- Dash(-) : This Specifies the range of a field.
e.g If you require a command to execute at mid-day of every weekday :
0 12 * * 1-5 * /command/file/path
- Separator (/) : This specifies the step value.
e.g if you require a command to run every 3 hours :
* */3 * * * /command/file/path
You can use special strings in the following syntax :
'Special String' /command/file/path
Here is a list of the special strings :
- @reboot : Run once at startup
- @annually or @yearly : Run once a year.
- @monthly : Once a month
- @weekly : Once a Week.
- @midnight or @daily : Once a day
- @hourly : Run every hour