2013-07-12 117 views
1

我在Centos 6上运行Shopify控制面板(http://shopify.github.io/dashing/)。我希望在启动时通过cron启动,当我从git下载更新时。通过cron启动瘦应用程序

我在bash脚本中有以下代码,它与我通过命令行运行以启动仪表板的代码相同。

#!/bin/bash

cd /usr/share/dashboard/

dashing start -p 500 -d

运行实际脚本作为从命令行根用户启动应用程序没有问题。

但是,当此脚本通过cron运行或启动时,应用程序永远不会启动。

如果有人可以说明为什么这是这种情况,它将不胜感激。

+0

cron作业从哪个用户运行?根据你的描述,它必须是根。 –

+0

是的,cron作业以root用户身份运行。 –

+0

我在Ubuntu 14.04上遇到同样的问题。 – Efren

回答

0

根据我的评论我仍然不是100%确定脚本是以root身份运行的。我会在脚本中添加一行:

echo $user > /tmp/test.txt 

然后通过cron运行脚本并查看文件的值是什么。

另外我质疑你的脚本。为什么需要cd?

如何

你也可能需要做一个nohup的,这是没有挂断信号,所以......

nohup /usr/share/dashboard/dashing start -p 500 -d 

这些都是我的猜测。

+0

再次感谢您的帮助。我添加了第一行并将用户输出到文本文件。结果是一个空白文件,这确实表明用户没有被指定。不过,我在crontab中指定了用户。 –

+0

我有同样的问题,仍然试图找到原因。至于@Pete B.的问题,dashing可能不是一个标准命令,并且期望从创建仪表板项目的文件夹中运行。它看起来像cron有一些特殊的方式来运行命令,而不是命令行会产生相同的行为。 – Efren

+0

ps:最后一个参数“-d”也将进程发送到后台,而不需要使用“nohup”命令。 – Efren

相关问题