Javascript 无法从cron执行中获取噩梦的结果

Javascript 无法从cron执行中获取噩梦的结果,javascript,node.js,cron,fs,nightmare,Javascript,Node.js,Cron,Fs,Nightmare,我一直在用梦魇和cron开发一些自动化流程。噩梦运行后,它获取结果的值并将其附加到本地计算机中的文件中(未检测到网络问题) 当我使用node/home/user/Documents/dreammareform.js运行这个程序时,它运行得非常好,并且可以写入文件中。但是,当从cron执行时,它不会向文件追加任何内容 我已将配置添加到crontab,如下所示: crontab -e # It will be executed everyday at 13:00 0 13 * * * node /

我一直在用梦魇和cron开发一些自动化流程。噩梦运行后,它获取结果的值并将其附加到本地计算机中的文件中(未检测到网络问题)

当我使用
node/home/user/Documents/dreammareform.js
运行这个程序时,它运行得非常好,并且可以写入文件中。但是,当从cron执行时,它不会向文件追加任何内容

我已将配置添加到crontab,如下所示:

crontab -e

# It will be executed everyday at 13:00
0 13 * * * node /home/user/Documents/nightmareForm.js
如果我做了
grep nightmareForm.js/var/log/syslog-C 10
我可以看到它已经被执行了:
4月24日13:00:00 PC CRON[1223]:(root)CMD(node/home/user/Documents/dreammareform.js)

继续调查,该文件具有以下权限(Ubuntu 18.10):
-rwxr-xr-x
,因此它应该是可执行的,并且创建的文件具有以下权限:
-rw-rw-

更新:@ponury kostek的想法之后,我验证了脚本可以在文件中写入,但它从未到达then()或catch()块

更新2:我试图从crontab捕获日志,但它没有显示任何错误:
013***/usr/local/bin/node/home/user/Documents/nappareform.js>/home/user/Documents/nappareform.log 2>&1

你知道为什么crontab中的脚本无法到达then()或catch()块吗?
谢谢

我也有同样的问题

我的工作是使用xvfb run启动节点进程

xvfb-run node myscript.js
实际上,我制作的shellscript(go.sh)只包含3行:

#!/bin/bash
cd /home/me/nodestuff/spkfetch
xvfb-run node fetch_umsaetze.js
并将其添加到crontab中:

* * * * *  cd /home/norbert/nodestuff/spkfetch && sh go.sh  >> /home/norbert/nodestuff/spkfetch/log/log.txt  2>&1
我从未尝试将xvfb run调用直接放入crontab,但我认为可能是脚本不允许启动X进程(窗口)之类的问题。也许值得尝试将其直接放入cron命令中

以下是引导我找到此解决方案的页面:

当您执行
sudo crontab-e
时,您正在为
root
编辑
cron
process.env['HOME']===“/root/”
)用户而不是您的用户。只需在不使用sudo的情况下使用
crontab-e
@ponury kostek感谢您的回答,但是,无论使用sudo还是不使用sudo,这都是相同的行为。使用以下信息登录(事实上,我们可以看到root没有在这一个中运行):
Apr 24 14:39:01 PC CRON[25564]:(user)CMD(node/home/user/Documents/nappareform.js)
Create file with
const fs=require(“fs”);appendFileSync(“/tmp/crone_test.txt”,JSON.stringify(process.env))
并从cron运行它,然后检查
HOME
下设置的内容。如果您完全正确,代码的执行可以创建详细信息并将其附加到文件中。问题在于梦魇脚本的执行。它从不进入then()或catch()块。。。我会更新问题的描述,再次感谢!用
try/catch
block和log结果将所有内容包装到某个地方,我认为
dream
不适用于您的脚本实际上不需要添加go.sh文件:)我设法在crontab上直接运行xvfb run
* * * * *  cd /home/norbert/nodestuff/spkfetch && sh go.sh  >> /home/norbert/nodestuff/spkfetch/log/log.txt  2>&1