2014-06-11 147 views
0

我正在使用cPanel,並且我想每個小時都執行一個執行某個node.js腳本的cron作業。我通過選擇每個小時進行設置,並在命令框中輸入cd node-bin && node check-up.js,但一小時後它不執行nodejs腳本。我究竟做錯了什麼?你是否必須指定結果的放置位置(使用>)?它不從主目錄運行命令嗎?我在共享託管服務器上,所以我會假設它從主目錄運行它,但是誰知道......任何想法?如何使用cron作業?

UPDATE:

我把它給我發電子郵件的結果,現在說,它無法找到該命令node(即使我可以從SSH運行)。爲什麼?

+0

如果節點在交互式會話中位於二進制搜索路徑中,那麼將使用哪個節點給出可執行文件的絕對路徑,並且此絕對路徑是在#之後所需的路徑。你可以在我的問題(現在我更新它)中看到 – Paul

回答

0
  • 確保有在你的crontab結束的空行
  • 添加* * * * * env > /tmp/env.txt,並檢查其環境變量缺失,因爲在crontab環境通常是不同的。
+0

,看起來節點缺失。我該怎麼辦? – Markasoftware

+0

@Markasoftware,試試'cd node-bin && ./node check-up.js' – Fabricator

+0

好的,但不是不行?節點可執行文件不在'node-bin'文件夾中。這只是我放置所有節點文件的文件夾 – Markasoftware

0

這裏有一個cron作業的兩個基本步驟來運行:

How can you execute a Node.js script via a cron job?

首先,添加

#!/usr/local/bin/node 

您node.js的文件的開頭,並給運行許可 (

chmod 777 node.js 

) (你還可以檢查它是否是好的,通過在終端中輸入

./node.js 

) 如果這是確定的,那麼就應該在cron作業腳本的完整路徑,這就是所有! 此外,正如user3678068指出的,您應該指定輸出文件的完整路徑! 希望這有助於!