很简单,我有一个每月执行一次的 node 脚本.

30 6 1 * * node /home/steve/example/script.js

但这不起作用,可能是因为运行命令的路径或shell .我try 了以下通过cron执行node的方法(用-v测试):

steve@atom:~$ node -v
v0.4.2

steve@atom:~$ sh node -v
sh: Can't open node

steve@atom:~$ bash node -v
/usr/local/bin/node: /usr/local/bin/node: cannot execute binary file

steve@atom:~$ /usr/local/bin/node -v
v0.4.2

steve@atom:~$ sh /usr/local/bin/node -v
/usr/local/bin/node: 1: Syntax error: "(" unexpected

steve@atom:~$ bash /usr/local/bin/node -v
/usr/local/bin/node: /usr/local/bin/node: cannot execute binary file

我没办法try 了,有什么建议吗?

推荐答案

只需在cron作业(job)中提供 node /usr/local/bin/node的完整路径,如:

30 6 1 * * /usr/local/bin/node /home/steve/example/script.js

Node.js相关问答推荐

Google Drive API返回200(HTTP成功)用于测试pdf输出,但没有文件

Stripe webhook无法访问Express请求原始正文

创建查询以展开数组并筛选出具有特定值的元素之后的元素

Mongodb - 在数组数组中查找()

SvelteKit应用程序立即退出,没有错误

错误 node :错误:绑定消息提供 16 个参数,但准备语句需要 15 个

React Native:执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade 时发生故障

如何在不使用位置运算符 $ 的情况下更新 mongodb 文档中数组中的嵌套文档?

用户与mongoose 的完美搭配

为什么在调用数据库调用时我的参数没有定义?

fs.writefile 选项参数的可能值,尤其是只读文件的整数

baseurl64 缓冲区解码

使用服务帐户将 Firebase 应用程序部署到 Heroku(使用 dotenv 的环境变量)

Node js中向rest服务发送https请求的步骤

来自 Node-aws 的 Dynamo Local:所有操作都失败无法对不存在的表执行操作

如何让should.be.false语法通过 jslint?

将变量传递给nodemailer中的html模板

安装 node.JS 时,node.js 运行时和 npm 包管理器选项有什么区别?

tsconfig.json 中模块类型的区别

如何解决 Socket.io 404(未找到)错误?