为什么我的 cron 任务在命令行中工作,而不是在 PLESK 中工作


Why is my cron task working in command line, but not in PLESK?

我想在另一台专用服务器上设置一个在 PLESK 9 下完美运行的 cronjob,但无法让它在 PLESK 10 下的新专用服务器中工作。我只是想不通为什么。

一些信息:我让PHP作为Apache模块运行,并且:

PHP在哪里 说: PHP: USR/bin/PHP

usr/bin/php -q/var/pathtocronjob

在命令行中完美运行。但是,当我在 PLESK 中的"计划任务"中设置它时,它只是说

-:/usr/bin/php: 没有这样的文件或目录

我已经搜索了任何可以帮助我的东西,但找不到任何帮助。任何人都知道为什么这不起作用,当然...如何解决这个问题?

请确保包含第一个斜杠/

您应该替换:

usr/bin/php -q /var/pathtocronjob

/usr/bin/php -q /var/pathtocronjob

可能是 cron 任务的某种 chroot shell?查看管理员指南

您将无法访问低于主机/用户在 Plesk 上签名的级别。这是为了防止用户走出var/www/vhosts/domein.tld文件夹。这是一个内置的安全,因此用户不能用漏洞利用命令弄乱服务器,而只是留在自己的沙箱中。

使用短的"php"

而不是"usr/bin/php"

例如 magento 重新索引命令

 0 */3 * * * php -q httpdocs/shell/indexer.php reindexall

附言:许多常用的 SSH 命令在 crontab 命令字段中也不起作用!