我正在尝试使用 在启动时运行 node.js 脚本crontab
。
这是命令
/usr/local/bin/forever -c /usr/local/bin/node start /var/www/html/lights.js >/var/log/lights 2>&1 &
重新启动时,cron 日志显示命令已执行,但灯光日志显示此
/usr/bin/env: node: No such file or directory
运行该命令有效,但在 cron 运行它时无效。
答案1
要在启动时启动 Linux 守护进程、服务器或应用程序,通常使用 中的脚本/etc/init.d
。
看一下在 Centos 中启动 node.js 的脚本:https://gist.github.com/nariyu/1211413
在使用您的文件制作您自己的版本之后,您可以“激活”它在启动时运行:
chkconfig nodejs on
之后您也可以使用service nodejs start
或service nodejs stop
来启动或停止它。
答案2
cron
默认情况下使用非常严格的限制PATH
。您需要让 cron 运行更改 PATH 的脚本,或者PATH=
在您的crontab
文件中进行设置。 有关详细信息,请参阅此处的问题和答案。