Symptoms
A scheduled task set up to run from under a subscription user fails with one of the following error messages:
PLESK_ERROR: Task /opt/plesk/php/5.6/bin/php -q /var/www/vhosts/example.com/wp-cron.php completed with error in 0 seconds, output:
-: /opt/plesk/php/5.6/bin/php: No such file or directory
PLESK_ERROR: user with id=11112 and name=`<user_name>` not found in chrooted passwd file
system error: No such file or directory
PLESK_ERROR: /var/www/vhosts/example.com/httpdocs/app/cake: /usr/bin/env: bad interpreter: No such file or directory
PLESK_ERROR: Task “php -q /var/www/vhosts/example.com/crons/cron.php” successfully completed in 0 seconds, output:
The file /var/www/vhosts/example.com/crons/cron.php is corrupted.
PLESK_ERROR: Task “wget –spider -O – https://example.com/api_provider/cron/order >/dev/null 2>&1” completed with error in 0 seconds.
Cause
When running a scheduled task from under a system user using system utilities (curl
, wget
, php
, etc.), the command will fail if the system user has no access to the server or is set up to run commands in a limited environment (chrooted).
Resolution
One of the following workarounds may be applied:
-
Recreate the task from under a root user at Tools & Settings > Scheduled Tasks:
Task type: Run a command
Command: /opt/plesk/php/7.2/bin/php -q /var/www/vhosts/example.com/httpdocs/whmcs/crons/cron.phpOR
Task type: Run a PHP script
Script path: /var/www/vhosts/example.com/httpdocs/whmcs/crons/cron.php
Use PHP version: select any required version
System user: root -
Provide the system user john_doe with access to the server over SSH (for example,
/bin/bash
) at Domains > example.com > Web Hosting Access. -
Change the crontab shell for scheduled tasks to
/bin/bash
at Tools & Settings > Scheduled Tasks > Settings. -
Add a required command to a chrooted environment.
Note: For instructions, see the next article: How to add new programs to a chrooted shell environment template