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

时间:2011-04-06 13:23:22

标签: php cron plesk

我想在另一台专用服务器上设置一个在PLESK 9下完美运行的cronjob,但是在PLESK 10下的新专用服务器上无法工作。我只是想不出原因。

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

whereis php 说: php:usr / bin / php

usr / bin / php -q / var / pathtocronjob

在命令行中完美运行。 但是,当我在“计划任务”中将其设置为PLESK时,它只是说

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

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

3 个答案:

答案 0 :(得分:3)

请确保包含第一个斜杠/

你应该替换:

usr/bin/php -q /var/pathtocronjob

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

答案 1 :(得分:2)

可能是cron任务的某种chrooted shell?看Admin guide

答案 2 :(得分:2)

您将无法访问比Plesk上的托管/用户更低的级别。这是为了防止用户进入 var / www / vhosts / domein.tld 文件夹。这是一个内置的安全性,因此用户无法使用exploit命令来破坏服务器,而只是留在他们自己的沙箱中。

使用短'php'代替'usr / bin / php'

例如magento重建索引命令

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

PS: 很多常用的ssh命令都不能在crontab命令字段中工作!