节点和 crontab 无法正常工作

Posted

技术标签:

【中文标题】节点和 crontab 无法正常工作【英文标题】:Node and crontab not working properly 【发布时间】:2013-03-23 16:25:27 【问题描述】:

我正在尝试使用 crontab 运行节点脚本,但它没有按预期工作(Ubuntu 12.04)。在我的 crontab 文件中,我得到了

*/1 * * * * node /home/me/path/to/script.js > /home/me/path/to/output

这会产生空字符串输出,而它不应该。

当我手动运行 node /home/me/path/to/script.js > /home/me/path/to/output 时,一切正常。

你能帮我解决这个问题吗?

【问题讨论】:

尝试将 node 更改为来自 which node 的内容。即放二进制执行过程的全路径。 另外,请确保您的 crontab 脚本以 me 而不是 www-data 或类似名称运行。 正如@fedorqui 所说,使用绝对路径。这不仅适用于 Node,您应该始终使用带有 crontab 的绝对路径。此处说明:clickmojo.com/code/cron-tutorial.html @fedorqui,您应该发布作为答案。巴黎不应该因为你的回答而受到赞扬...... 谢谢@Jessemon,我会做的。 【参考方案1】:

node 更改为来自which node 的内容。即放二进制执行过程的全路径。

*/1 * * * * /path/to/node /home/me/path/to/script.js > /home/me/path/to/output
#           ^^^^^^^^^^^^^

该值通常类似于/usr/bin/node

【讨论】:

*/1 是否每分钟运行一次?每天都能学到新东西真是太好了! 是的!事实上,我最近在 crontab 中寻找关于非常等价的表达式的信息:***.com/questions/13853793/…

以上是关于节点和 crontab 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

crontab 无法执行

mac crontab

未从 crontab 设置路径

linux中打包备份脚本,手动执行可以正常打包,使用crontab -e 添加到系统定时任务中执行就无法打包

linux中打包备份脚本,手动执行可以正常打包,使用crontab -e 添加到系统定时任务中执行就无法打包

crontab计划任务无法执行(小结)