节点fs.readFileSync()和cron的问题

时间:2016-08-13 21:47:05

标签: node.js ubuntu path cron

我试图用Crone运行节点脚本,尽管我认为我在每一步都使用绝对路径,但我仍然得到一个"没有这样的文件或者目录"尝试从Cron运行脚本时读取JSON文件。

有趣的是,当我从shell运行它时,一切正常!

var x = "hello";
var y = x;
x = "bye";

console.log(x);
console.log(y);

^^这很好用!

然而,当我像这样运行crontab时:

[/]$ /usr/local/bin/node /root/Main/email.js

我把它打印到日志中:

0,29 * * * * /usr/local/bin/node /root/Main/email.js

我的节点草图上抛出错误的代码行是这样的:

fs.js:438
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT, no such file or directory 'root/Main/email.json'
    at Object.fs.openSync (fs.js:438:18)
    at Object.fs.readFileSync (fs.js:289:15)
    at Object.<anonymous> (/root/Main/email.js:11:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

我错过了什么?这不是绝对的道路吗?为什么它只能直接从shell工作!

0 个答案:

没有答案