我正在嘗試設置一個節點腳本在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
內容,但我什麼也看不到什麼。即使將腳本設置爲對所有用戶具有完全讀取,寫入和執行權限以及是否爲root
或node
用戶設置了crontab,情況仍然如此。
我錯過了什麼?
感謝
當我手動運行腳本時,它按預期運行。使用'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
我不確定這是否是一個許可問題,我可以想象操作系統會說你沒有權限,而不是無法找到目錄。也許嘗試在sudo下運行它以查看會發生什麼? –