Hello.
I'm running a server which hosts 50 websites. I'm using Cyberpanel (Openlitespeed) as the server backend.
All the websites are similar in size and on all of them I've set up Duplicator Pro to run a daily backup to an S3 Storage.
I have disabled Wp-Cron in the wp-config.php files and set up a server-side cron job through Cyberpanel for every site that runs every 5 minutes.
The cron jobs' command is as follows:
wget --delete-after https://example.com/wp-cron.php
as instructed here.
Also I've scheduled the backups to run an hour after the previous batch of sites. So the first 5 sites are scheduled to run daily at 00:00, then next 5 at 01:00, and so on.
The issue is, that every day at least 10 websites fail and I receive an email from Duplicator Pro saying "BACKUP FAILED DURING STORAGE PHASE. CHECK SITE FOR DETAILS.".
It's not the same 10 every time, though sometimes the same ones do appear in the ones that failed. Which ones will fail appears random to me.
The websites are all basically the same (same theme, same plugins same settings etc).
When I go to the failed website I see the error "Communication to AJAX is blocked". If I manually run the schedule, it works on all the sites (except one, see below).
So on one site that consistently failed even when I manually run the schedule, I decided trying to turn on the Duplicator Pro setting "Client-Side Kickoff".
On Duplicator's docs I found this in which they set up an external cron to run admin-ajax.php every minute.
I'm curious as to if it needs to be an external cron, and also why they use that command (https://example.com/wp-admin/admin-ajax.php?action=duplicator_pro_process_worker) instead of https://example.com/wp-cron.php.
Will my cron setup that runs every 5 minutes work the same way, or is the above the only way it should be done?
Thank you in advance.
