Support

Documentation

Chapter 5. Automation and CRON scripts

[Note]Note

Akeeba Ticket System Core does not include the CLI CRON scripts. While it includes the CRON feature, it does not include any of the plugins which implement the CRON (automation) tasks. Therefore, for all intents and purposes, Akeeba Ticket System Core can be said to not include any automation features.

Akeeba Ticket System is a complex system which requires a number of administrative tasks to be executed periodically, depending on the complexity of your installation. While most tasks can be executed manually, automation is definitely the best path.

There are two ways Akeeba Ticket System can help you automate tasks:

  • CLI scripts for CRON jobs. If your server gives you access to real CRON jobs, executing command line scripts periodically, this is the preferred method. Automated tasks execute outside of your web server and are not bound to the same time limitations as loading pages on your site. Moreover, since the web server and most of Joomla is not loaded they tend to be more memory efficient and faster than any other method.

  • URLs for CRON jobs. Starting with Akeeba Ticket System 3.2.0 there's a special, password-protected URL you can use to execute maintenance tasks automatically. Since they run outside the context of a visitor accessing your site they do not slow your visitors down. However, since they are still accessed through your site, they are bound by the same time limits as any other page load of your site. Furthermore, third party plugins loading on your site may cause unintended effects, increase the memory consumption and slow down the execution of ATS CRON tasks executed this way. This is only recommended when your host does not allow you to create real CRON jobs. You can uses the URLs with pseudo-CRON (access a URL at specified intervals) either provided by your host or a third party service such as WebCRON.

In all of the above cases the CRON commands executing are the same. They are provided by plugins in the ats group. A cheatsheet with the available CRON commands and links to the respective plugins' documentation can be found at the end of this chapter.

Upgrading from Akeeba Ticket System 3.1.0 or earlier

Akeeba Ticket System 3.1.0 and earlier provided one CLI script for each CRON task. These CLI scripts are deprecated. They will continue to work until version 4.0 but when you execute them they will remind you to use the ats-cron.php script instead.

A list of the new CRON commands, the plugin that implements them and the CLI script they replace can be found in the CRON Commands section further below.

The System - Akeeba Ticket System Reply By Email plugin has been removed. You need to use the CLI script or URL method to automate the emailfetch task instead.

CLI script for CRON jobs

[Note]Note

This feature is only available in Akeeba Ticket System Professional.

This is the recommended method for scheduling Akeeba Ticket System CRON tasks on your site.

The big picture

Setting up a CLI script for a CRON job is generally a fairly simple task. You need to know the path to your PHP CLI executable and the path to your site.

The command line script you need to execute to perform CRON tasks is stored under your site's cli directory and is called ats-cron.php. Therefore you need to enter a command line similar to the following to your server's CRON job manager:

/usr/local/bin/php /home/USER/webroot/cli/ats-close.php --command=CRONTCommandName

where /usr/local/bin/php is the path to your PHP CLI executable and /home/USER/webroot is the absolute path to your web site's root. You can get this information from your host.

The CRONCommandName is the name of the CRON command. Please consult the CRON Commands section of this documentation for a list of available CRON command names.

[Important]Important

We cannot know the path to your PHP CLI executable or the absolute path to your web site's root. This is the kind of information that only the people who have set up your server (your host) can possibly know.

[Warning]Warning

Sometimes hosts will give you the path to the PHP CGI binary. This will NOT work properly with CLI scripts. CGI (Common Gateway Interface) and CLI (Command Line Interface) are a world apart. The former is designed to run scripts which will be served as web pages. The latter is designed to run command line scripts, usually for use with CRON.

If your host only gives you the path the CGI executable

Setting up a CRON job in cPanel

Go to your cPanel main page and choose the CRON Jobs icon from the Advanced pane. In the Add New CRON Job box on the page which loads, enter the following information:

Common Settings

Choose the frequency of your backup, for example once per day.

Command

Enter your CRON command as explained above. For example:

/usr/local/bin/php /home/USER/webroot/cli/ats-close.php --command=CRONCommandName

Finally, click the Add New Cron Job button to activate the CRON job.