2013-07-12 152 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

相關問題