克朗的用户不工作在Plesk 10/11

我在plesk上遇到了一个奇怪的问题,我似乎无法在官方支持的任何地方find答案,所以我希望这里有人能够提供一些解答。

我只是试图通过使用用户控制面板中的“计划的任务”通过cron运行脚本。 该命令设置为: php / var / www / full / path / to / script ,它在命令行上工作。

我通过cron运行时得到的错误消息(现在我升级到了plesk 11)是:

在chrooted passwd文件系统中找不到id = xxxxx和name = xxxxxxxx的用户错误:没有这样的文件或目录

显然,xxxxxx是真实的ID和名字。 用户在/ etc / passwd文件中列出,看起来没有任何区别。

我有另一个域做类似的事情,使用相同的命令(但不同的脚本)每小时运行一个cron作业。 该脚本运行良好,他们在同一个主机设置等,应该function相同。

有没有人有一个想法试图做什么来“修复”用户?

编辑:

所以我通过在服务器上浏览find了这个: /usr/local.psa/admin/sbin/crontabmng

如果我做crontabmng得到与工作的crontab的用户,我看到在文件的顶部它说SHELL = / bin / sh – wheras在用户不工作我看到SHELL = / usr / local / psa /斌/ chrootsh

看来,即使这两个用户应该是相同的(我猜他们可能已经设置了不同版本的plesk,因为升级已经发生,但是据我所知,已经使用相同的过程来build立) – 其中之一他们有一个chrooted壳,另一个没有。

现在我只需要找出如何改变这个设置…..

我已经find了一个答案,即使这个答案有点“不雅”,可能也没有解决首先问题的原因。

但是,这可能会阻止更多的人撕掉头发。

解决scheme是编辑用户的crontab文件,并更改该SHELLvariables,但是,我不知道该用户的crontabl文件在哪里。

所以我使用了这些步骤。

  1. / usr / local / psa / admin / sbin / crontabmng获取[user]> cron.txt
  2. vi cron.txt
  3. (编辑cron.txt并将SHELLvariables更改为/ bin / sh)
  4. / usr / local / psa / admin / sbin / crontabmng set [user] cron.txt

实际上,这会将该用户的crontab转储到当前目录中的cron.txt文件中 – 您可以在其中对其进行编辑,然后使用它重新加载到crontabpipe理器中。 将“cron.txt”replace为您放置该文件的完整path….

编辑:

现在我发现了一个更持久的解决scheme,如果你不想在chroot shell中执行任何你的cron作业,运行这个命令:

/ usr / local / psa / bin / server_pref -u -crontab-secure-shell / bin / sh

从这里阅读更多关于它的信息 (当你知道你在用什么工具时,解决scheme更容易find!)