【问题标题】:Running Grunt and Node as batch files through cron通过 cron 将 Grunt 和 Node 作为批处理文件运行
【发布时间】:2023-04-04 16:20:01
【问题描述】:

我最不想遇到的问题。

我有一个需要每分钟运行的 grunt 文件。它运行 JSHint,捕获输出,并通过 Amazon SES 通过电子邮件发送。在命令行上运行时它工作正常。但是,当通过 cron 运行时,它只是默默地失败。什么都没发生。我将电子邮件发送到一个单独的节点文件中。它不会自行运行。我从第二个文件中取出所有文件读取,并尝试自行运行它,只是发送一封包含硬编码值的电子邮件。没有骰子。同样,从命令行运行时运行良好。

我可以在 cron 日志中看到它们正在运行的条目。我已经开放了对所有受影响的文件和目录的访问权限,任何人都可以执行。我已经对所有目录路径进行了硬编码,以确保它不会因为找不到文件而静默失败。

这是 cron 条目: */1 * * * * sh /var/test/trunk/build/batch_jshint.sh

这是 shell 脚本:

#!/bin/bash
export PATH=$PATH:/opt/node/bin
cd /var/test/trunk/build/
grunt jshint_check --gruntfile /var/test/trunk/build/Grunt_jshint.js
node /var/test/trunk/build/send_jshint_email.js

Cron 日志: 7 月 18 日 22:23:01 ip-10-251-25-8 CRON[2923]: (ubuntu) CMD (sh /var/SmartGlass/sg2-nfl/trunk/build/batch_jshint.sh) 7 月 18 日 22:23:01 ip-10-251-25-8 CRON[2924]: (ubuntu) CMD (sh /var/SmartGlass/sg2-nfl/trunk/build/test.sh) 7 月 18 日 22:23:01 ip-10-251-25-8 CRON[2925]: (ubuntu) CMD (/usr/bin/uptime > /tmp/uptime) 7 月 18 日 22:23:01 ip-10-251-25-8 CRON[2922]: (CRON) 信息(未安装 MTA,丢弃输出) 7 月 18 日 22:24:01 ip-10-251-25-8 CRON[2932]: (ubuntu) CMD (sh /var/SmartGlass/sg2-nfl/trunk/build/batch_jshint.sh) 7 月 18 日 22:24:01 ip-10-251-25-8 CRON[2933]: (ubuntu) CMD (sh /var/SmartGlass/sg2-nfl/trunk/build/test.sh) 7 月 18 日 22:24:01 ip-10-251-25-8 CRON[2934]: (ubuntu) CMD (/usr/bin/uptime > /tmp/uptime) 7 月 18 日 22:24:01 ip-10-251-25-8 CRON[2931]: (CRON) 信息(未安装 MTA,丢弃输出)

任何建议都会被接受,因为我现在很难过。

【问题讨论】:

    标签: node.js cron gruntjs


    【解决方案1】:

    当然,我没有检查的一件事。我必须在批处理文件中包含节点的路径和 grunt 可执行文件。尽管我在登录时不必这样做,而且运行 cron 作业的是同一用户。

    【讨论】:

    • 你能澄清一下你到底做了什么吗?因为我不清楚在我的 bash 脚本中添加什么到我的 $PATH 中。
    • 它是 grunt 或 node 可执行文件的路径。所以,我有 grunt jshint_check --gruntfile /var/test/trunk/build/Grunt_jshint.js。我不能只是“咕哝”。它必须类似于 /var/lib/bin/grunt。因此,无论该可执行文件、grunt 还是节点存在于您的服务器上。
    • 感谢您再次光临!欣赏它:) 我昨天在深夜想通了,确实我不得不将/usr/local/bin 添加到我的路径中。解决了它。我认为用户的 crontab 不包含 /usr/local/bin 路径是一种奇怪的行为,但无论如何。它现在可以工作了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多