1

I'm on a shared hosting solution that I just moved over to. After the move, I did an upgrade to the newest CiviCRM version but left WordPress intact (no upgrade). Scheduled cron jobs were working fine on the previous host server, but not anymore.

Current configuration: PHP: 7.2.13 CiviCRM: 5.8.2 WordPress 4.9.9

I updated the wget command I was using to capture the results in logs. In CPanel, the job looks like this: wget -O /home/xxx/public_html/cron_output.log -t 1 -a /home/xxx/public_html/cron.log 'https://xxx/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=xxx&pass=xxx&key=xxx'

I know the syntax of the command is right because I can run the https: command from a web browser and everything works.

The cron.log shows that it's run with the 200 OK response. The cron_output.log is empty (should it be?).

--2019-01-02 12:50:01-- https://xxx/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=xxx&pass=xxx&key=xxx Resolving xxx (xxx)... x.x.x.x Connecting to xxx (xxx)|x.x.x.x|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 0 [text/html] Saving to: ‘/home/xxx/public_html/cron_output.log’

The server logs that my hosting provider sent me show that the jobs run.

I've also scheduled the same job in easycron and it shows that's it's run successfully.

So I know that cron is running and the syntax is right. But the scheduled jobs in Civicrm don't run. There's nothing in any error_log anywhere that indicates there's a php problem. I've looked at the questions here, and checked that PHP and the MySQL database are on the same timezone, and they are.

I cannot figure out why Civicrm is not running the scheduled jobs. I've tested with a scheduled mailing that sits there and never gets delivered (until you run the https:// command line manually, then it completes). Also the Administer -> System Settings -> Scheduled Jobs show that they are not being completed unless the cron job is manually triggered. And Civicrm has the orange System Status: Warning: Cron Not Running

I'm stumped, and my provider says the issue is not with the server, and I tend to agree.

Any thoughts as to next steps?

7
  • This is post is greyed out to me? Not sure why? I may have deleted it by mistake by trying to filter by tags and trying to delete a tag in my filter. Can't find any info in the help area as to why the post is greyed out. Jan 2, 2019 at 19:45
  • Your post shows that there's a cron_output.log - could you edit this question to say what, if anything, it contains? I see you reference error_log but not the cron_output.log. Jan 3, 2019 at 19:22
  • It would be useful to know the hosting provider as that may well be a factor...
    – Mick Kahn
    Jan 3, 2019 at 22:54
  • I noted in the original text that the output log is empty. The hosting provider is Web Hosting Canada. They are working on it, but not getting very far. It took us two days to confirm that the cron job syntax is correct - we know this because I can run it from a web browser and that triggers all of the jobs that were pending in Civicrm. Jan 3, 2019 at 23:03
  • 2
    Found the solution! It was two-fold. One, the cron needed a --no-check-certificate switch on the command line, and two, the StopBadBots WordPress plugin had registered wget as a bad bot in its bad bot table. Had to disable the wget entry and then everything worked fine. The final cron command line is: /usr/bin/wget --no-check-certificate -O - -q -t 1 'xxxx/wp-content/plugins/civicrm/civicrm/bin/…' Jan 11, 2019 at 17:25

1 Answer 1

0

Are you sure that the path to cron.php is right on the new server? I recently had to set it up again on the new host (SiteGround), and the path was slightly different. What was surprising was that, by all indications, the cron job was executing successfully, but it silently didn't run the CiviCRM jobs. I still don't have a good answer on that.

In cPanel, you can go into File Manager and check the path.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.