节点和 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 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
linux中打包备份脚本,手动执行可以正常打包,使用crontab -e 添加到系统定时任务中执行就无法打包