当我job.sh
在终端中运行时,它起作用了。那里只有以下内容:
#!/bin/bash
cd /home/user
node script.js > file
当我从 CRON 运行它时,它只是创建文件并且没有文本,如果我手动运行它,它是脚本输出......
有什么理由吗?
答案1
包装我的命令以进行捕获后标准输出和标准错误,像这样,我发现我需要提供完整路径node
:
( ./job.sh ) >"$HOME/cron.log" 2>&1
此外,它需要用户名才能访问数据库,而在不使用cron
.
job.sh
更新如下:
#!/bin/bash
cd /home/user
/fullPathToNode/node script.js > file