Getting cron jobs to work on Bluehost
As you may know, this site is created using the Joomla! Content Managment System program. CMS programs such as Joomla! or Wordpress make it easy to create new content and post it very quickly. CMS systems usually use three different programs to do their magic: the Apache web server, MySQL database and PHP language. By using these three interrelated programs, dynamic content is possible, so changing a database will change the web site instantly. Very cool stuff.
The site hosted on Bluehost, with which I have had an uneven relationship. Sometimes everything is great and support is fast, other times they will point blank refuse to help for no logical reason. This is one of the latter situations. A critical management function is to automate some maintenance tasks on schedule. When using Linux, these tasks are called cron jobs.
Last year, Joomla! began to insist that users running the newest versions of the program to migrate to the latest version of the PHP language. Bluehost provides the PHP Version 5.4 language as the default. This is equivalent to driving a 1963 Chevy Impala to work every day. From a security standpoint PHP 5.4 is deprecated and is a security vulnerability.
They also allow you to run unsupported versions of PHP 5.6 and 7.0, full of disclaimers. PHP 5.6 is currently secure, but the Joomla! developers are 'encouraging' people to upgrade to PHP 7 for security, design and performance reasons.
When setting up cron jobs to run on schedule when I upgraded to PHP 5.6, after a lot of hassle I had to change the cron jobs through trial and error, and some help from Googling and the Akeeba support. It took some effort to find the correct path the the php executable, simply because Bluehost support refused to tell me where it's located! Jerks!
The following command line should work on Bluehost if you're running PHP 5.6
After switching to PHP 7.0 I tried to substitute 70 for 56 in the above command line which didn't work. Joomla! came to the rescue. I found that on the System | System Information screen, selecting the PHP Information tab will show you the location of the php.ini file on the host system. In this case it's in /opt/php70/lib which is all I needed to deduce that the executable is at /opt/php70/bin/php. I wound up with this:
If you need to know what to use in the place of the [sitename] above, look on the System Information | Configuration File tab under the 'db' setting you'll find the sitename_sqldb name, which you probably already know.
Hope this helps.