Difference between revisions of "Cron Configuration"
(→Direct Admin) |
James.white (talk | contribs) |
||
(13 intermediate revisions by 7 users not shown) | |||
Line 3: | Line 3: | ||
Cron is the name given to a system daemon used to execute tasks (in the background) at designated times. WHMCS has a number of files that are required to be run on a periodic basis in this way. All these files are located in the crons directory. | Cron is the name given to a system daemon used to execute tasks (in the background) at designated times. WHMCS has a number of files that are required to be run on a periodic basis in this way. All these files are located in the crons directory. | ||
− | A single cron named the '''System Cron''' automates all core functions of the system including invoicing, reminders, suspensions and other daily automation tasks. | + | A single cron named the '''[[Crons|System Cron]]''' automates all core functions of the system including invoicing, reminders, suspensions and other daily automation tasks. |
− | In WHMCS 6.3.x and earlier, the system cron should be configured to run no more than '''once per day'''. | + | In WHMCS 6.3.x and earlier, the system cron should be configured to run no more than '''once per day'''. |
+ | |||
+ | In WHMCS 7.0 and later, the system cron should be configured to run as often as every 5 minutes or as frequently as your web hosting provider will allow (for example, every 15 minutes). The shortest time interval at which WHMCS will process cron tasks is every 5 minutes. | ||
==Setting Up Cron Jobs== | ==Setting Up Cron Jobs== | ||
− | |||
The tutorials & screenshots below demonstrate how to configure the WHMCS cron on the most common hosting control panels. | The tutorials & screenshots below demonstrate how to configure the WHMCS cron on the most common hosting control panels. | ||
− | + | The system will attempt to determine the PHP path to use for your cron command. You can find this when you click on the first badge at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup > Automation Settings'''. | |
− | + | [[File:Cron-configuration-badge.png|border]] | |
===cPanel=== | ===cPanel=== | ||
− | + | Click on the '''Cron Job''' icon in cPanel, select the ''Once Per Five Minutes'' option from the '''Common Settings''' menu. Then paste the cron command into the '''Command''' field. | |
− | + | Alternatively, click '''Advanced (Unix Style)''' and enter: | |
− | |||
− | |||
− | |||
− | |||
{| class="wikitable" border="1" style="text-align:center" | {| class="wikitable" border="1" style="text-align:center" | ||
Line 55: | Line 52: | ||
| * | | * | ||
| | | | ||
− | | wget -O <nowiki>http://www. | + | | wget -O <nowiki>http://www.example.com/whmcspath/crons/cron.php</nowiki> >/dev/null |
|- | |- | ||
| c) | | c) | ||
Line 65: | Line 62: | ||
| * | | * | ||
| | | | ||
− | | GET <nowiki>http://www. | + | | GET <nowiki>http://www.example.com/whmcspath/crons/cron.php</nowiki> |
|} | |} | ||
Line 72: | Line 69: | ||
The command for Direct Admin is generally the same as cPanel, however, you need to reference the full path to the php binary. | The command for Direct Admin is generally the same as cPanel, however, you need to reference the full path to the php binary. | ||
− | + | Depending on your server, this will be /usr/bin/php, /usr/bin/home/php or /usr/local/bin/php. Check with your hosting provider or system administrator for the full path to the PHP binary. | |
An example command to run is: | An example command to run is: | ||
Line 84: | Line 81: | ||
| wget -O /dev/null <nowiki>http://domain.tld/path/to/cron.php</nowiki> | | wget -O /dev/null <nowiki>http://domain.tld/path/to/cron.php</nowiki> | ||
|- | |- | ||
− | | GET <nowiki>http://www. | + | | GET <nowiki>http://www.example.com/whmcspath/crons/cron.php</nowiki> |
|} | |} | ||
Line 108: | Line 105: | ||
|C:\php\php.exe -q "C:\inetpub\wwwroot\whmcs7\admin\cron.php" | |C:\php\php.exe -q "C:\inetpub\wwwroot\whmcs7\admin\cron.php" | ||
|- | |- | ||
− | |"c:\program files\internet explorer\iexplore.php" "<nowiki>http://www. | + | |"c:\program files\internet explorer\iexplore.php" "<nowiki>http://www.example.com/whmcspath/cron.php</nowiki>" |
|} | |} | ||
Line 117: | Line 114: | ||
===Plesk=== | ===Plesk=== | ||
− | + | Navigate to the Domain where WHMCS is hosted, and click on the Schedule Tasks option in the top-right menu. | |
− | + | From the Schedule Tasks page, perform the following actions: | |
− | + | # Click on the Add Task button | |
+ | # Set "Task type" to the "Run PHP script" option | ||
+ | # Input the path to your cron.php script into the "Script path" field | ||
+ | # Select PHP 5.6 or later for the "Use PHP version" option | ||
+ | # Select the "Cron style" option from the "Run" drop-down menu | ||
+ | # Input "*/5 * * * *" into the "Cron style" field | ||
+ | # Click on the "OK" button | ||
− | + | {| class="wikitable" border="1" style="text-align:center" | |
+ | !Example "Script path" for Linux | ||
+ | |- | ||
+ | | /path/to/whmcs/crons/cron.php | ||
+ | |} | ||
+ | [[File:PleskLinCron.png|border]] | ||
− | + | {| class="wikitable" border="1" style="text-align:center" | |
− | + | !Example "Script path" for Windows | |
− | [[ | + | |- |
+ | | /path/to/whmcs/crons/cron.php | ||
+ | |} | ||
+ | [[File:PleskWinCron.png|border]] | ||
===Helm=== | ===Helm=== | ||
Line 136: | Line 147: | ||
[[Image:interworx.jpg]] | [[Image:interworx.jpg]] | ||
+ | |||
+ | ===Linux with no control panel=== | ||
+ | |||
+ | Use the command to open the crontab editor: | ||
+ | |||
+ | <tt>$ crontab -e </tt> | ||
+ | |||
+ | On a new line enter: | ||
+ | |||
+ | <tt>*/5 * * * * php -q /path/to/home/public_html/whmcspath/crons/cron.php</tt> | ||
+ | |||
+ | Type <tt>:wq</tt> and press the Enter key to save the changes to the crontab and close the editor. |
Latest revision as of 11:10, 24 May 2022
Cron tasks must be created to automate tasks within WHMCS.
Cron is the name given to a system daemon used to execute tasks (in the background) at designated times. WHMCS has a number of files that are required to be run on a periodic basis in this way. All these files are located in the crons directory.
A single cron named the System Cron automates all core functions of the system including invoicing, reminders, suspensions and other daily automation tasks.
In WHMCS 6.3.x and earlier, the system cron should be configured to run no more than once per day.
In WHMCS 7.0 and later, the system cron should be configured to run as often as every 5 minutes or as frequently as your web hosting provider will allow (for example, every 15 minutes). The shortest time interval at which WHMCS will process cron tasks is every 5 minutes.
Contents
Setting Up Cron Jobs
The tutorials & screenshots below demonstrate how to configure the WHMCS cron on the most common hosting control panels.
The system will attempt to determine the PHP path to use for your cron command. You can find this when you click on the first badge at Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings.
cPanel
Click on the Cron Job icon in cPanel, select the Once Per Five Minutes option from the Common Settings menu. Then paste the cron command into the Command field.
Alternatively, click Advanced (Unix Style) and enter:
Option | Minute | Hour | Day | Month | Weekday | Command | ||
---|---|---|---|---|---|---|---|---|
a) | */5 | * | * | * | * | php -q /path/to/home/public_html/whmcspath/crons/cron.php | ||
b) | */5 | * | * | * | * | wget -O http://www.example.com/whmcspath/crons/cron.php >/dev/null | ||
c) | */5 | * | * | * | * | GET http://www.example.com/whmcspath/crons/cron.php |
Direct Admin
The command for Direct Admin is generally the same as cPanel, however, you need to reference the full path to the php binary.
Depending on your server, this will be /usr/bin/php, /usr/bin/home/php or /usr/local/bin/php. Check with your hosting provider or system administrator for the full path to the PHP binary.
An example command to run is:
Command |
---|
/usr/bin/php -q /home/demo_user/domains/testdomain.com/public_html/whmcspath/crons/cron.php |
/usr/local/bin/php -q /home/demo_user/domains/testdomain.com/public_html/whmcspath/crons/cron.php |
wget -O /dev/null http://domain.tld/path/to/cron.php |
GET http://www.example.com/whmcspath/crons/cron.php |
DotNetPanel
Navigate to the hosting space in which WHMCS is installed and click Scheduled Tasks from the Hosting Space Menu, then click Add Scheduled Task.
From the Task Type dropdown menu select the Check Web Site Availability option and enter the URL of the cron.php file into the URL field. Use the Schedule options to run this task Daily and finally ensure it's active and running.
Windows Server
Depending on your server setup, you can run the cron directly from the php executable. If this is not possible, you would need to use the server browser to run the cron
An example command to run is:
Command |
---|
C:\php\php.exe -q "C:\inetpub\wwwroot\whmcs7\admin\cron.php" |
"c:\program files\internet explorer\iexplore.php" "http://www.example.com/whmcspath/cron.php" |
You should then set the task to run at a certain time every day. The time is up to you.
Plesk
Navigate to the Domain where WHMCS is hosted, and click on the Schedule Tasks option in the top-right menu.
From the Schedule Tasks page, perform the following actions:
- Click on the Add Task button
- Set "Task type" to the "Run PHP script" option
- Input the path to your cron.php script into the "Script path" field
- Select PHP 5.6 or later for the "Use PHP version" option
- Select the "Cron style" option from the "Run" drop-down menu
- Input "*/5 * * * *" into the "Cron style" field
- Click on the "OK" button
Example "Script path" for Linux |
---|
/path/to/whmcs/crons/cron.php |
Example "Script path" for Windows |
---|
/path/to/whmcs/crons/cron.php |
Helm
InterWorx
Linux with no control panel
Use the command to open the crontab editor:
$ crontab -e
On a new line enter:
*/5 * * * * php -q /path/to/home/public_html/whmcspath/crons/cron.php
Type :wq and press the Enter key to save the changes to the crontab and close the editor.