2013-01-21 77 views
0

我正在嘗試設置一個節點腳本在Joyent上作爲cron作業運行。我可以運行任意命令,但節點腳本似乎執行。舉個例子:在Joyent上運行cron時出現問題

# cron 
# call a script every minute 
# being specific about the location of node and the script to run 
* * * * * /home/node/local/nodejs/bin/node /full/path/to/some-script.js 

// node script at /full/path/to/some-script.js 
var fs = require('fs'); 
fs.writeFile('/home/node/node-service/some-script.log', new Date.toString(), 'utf8'); 

我希望看到一分鐘後在/home/node/node-service/some-script.log文件中包含Mon Jan 21 2013 15:19:11 GMT-0600內容,但我什麼也看不到什麼。即使將腳本設置爲對所有用戶具有完全讀取,寫入和執行權限以及是否爲rootnode用戶設置了crontab,情況仍然如此。

我錯過了什麼?

感謝

回答

0

第四個可選參數writeFile是當文件系統完成寫文件的火災回調。您可以使用它來確定發生的錯誤,因爲它只是參數是一個錯誤。參考文檔here.

+0

當我手動運行腳本時,它按預期運行。使用'writeFile'錯誤對​​象爲空。我看到的尾部cron日誌 '> CMD:/ home/node/local/nodejs/bin/node /home/node/node-service/activities-sweeper.js > node 15781 c Tue Jan 22 17:34: 00 2013 smabbott

+0

我不確定這是否是一個許可問題,我可以想象操作系統會說你沒有權限,而不是無法找到目錄。也許嘗試在sudo下運行它以查看會發生什麼? –

0

它似乎現在正在工作。我不確定我改變了它的工作原理。這可能是一個權限問題。

相關問題