我试图用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工作!