What is a Cron Job?
Cron is a standard Linux feature that allows you to schedule tasks, called "Cron Jobs," to run unattended at a specified frequency. For example, you can set the frequency of a job to run twice an hour, Mondays at 8:00 a.m., or weekdays at 12:00 p.m. and 6:00 p.m.
Cron Job reports are sent to the email address specified in the Hosting Control Panel Cron Job Manager.
There are several ways to schedule commands to run. Typically, you create a shell script to run as a Cron Job. It runs a list of commands while checking for errors and valid return codes. To run a shell script, set its bit set permissions to "executable." Alternatively, compose a binary executable with a number of arguments. For example, "touch" a file:
The first part of this sample command, "/bin/touch" runs the executable. The second part, "$HOME/html/cron_test" is an argument for the "touch" command.
NOTE: In the example above, the "$HOME" variable is set to the default directory of the hosting account. The "html" directory is the document root of the hosting account.
In addition to shell scripts, your hosting environment supports other language scripts. For example, Perl is a commonly used scripting language that can use scripts as Cron Jobs. In most cases, you can perform this task by specifying to use the executable as the first line of the script. For example:
When a script begins with a line, as in the previous example, and the executable permissions are set, you can specify the line as the command to run for a Cron Job.
The PHP (versions 4 and 5) hosting installations do not support the use of the executable line in scripts. To run a PHP script with Cron, you must set the path to the PHP interpreter as the first element of the command, and then enter the full path of the script you want to run.
The full path to the PHP executables depend on what type of hosting you have (more info) and your PHP version (more info):
- All cPanel Shared Hosting: /usr/local/bin/php -q
- Other hosting PHP version 4: /web/cgi-bin/php
- Other hosting PHP version 5 through 5.2: /web/cgi-bin/php5
- Other hosting PHP version 5.3: /web/cgi-bin/php5_3
- Plesk hosting PHP version 5.4: /web/cgi-bin/php5_4
NOTE: Our Classic & Web hosting accounts using PHP version 5.4 do not currently support running PHP scripts with Cron.
For more information, see Create Cron jobs.