Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 命令正常时Cron没有运行,为什么?_Node.js_Neo4j_Cron_Crontab - Fatal编程技术网

Node.js 命令正常时Cron没有运行,为什么?

Node.js 命令正常时Cron没有运行,为什么?,node.js,neo4j,cron,crontab,Node.js,Neo4j,Cron,Crontab,我有下面的cron来检查我的Neo4J数据库是否正在运行,如果它关闭了,它会关闭Node.Js应用程序,然后重新启动数据库,然后再次启动应用程序。第二行是备份脚本 ***/home/noduslabs/neo4j-community-2.0.1/bin/neo4j-status | | |/home/noduslabs/webapps/infranodus/bin/ever stopall&/home/noduslabs/webapps/infranodus/app.js&/home/nodus

我有下面的cron来检查我的Neo4J数据库是否正在运行,如果它关闭了,它会关闭Node.Js应用程序,然后重新启动数据库,然后再次启动应用程序。第二行是备份脚本

***/home/noduslabs/neo4j-community-2.0.1/bin/neo4j-status | | |/home/noduslabs/webapps/infranodus/bin/ever stopall&/home/noduslabs/webapps/infranodus/app.js&/home/noduslabs/neo4j-community-2.0.1/bin/neo4j-start
10 14***~/webapps/infranodus/bin/backup

当我自己从shell运行代码时,例如

/home/noduslabs/neo4j-community-2.0.1/bin/neo4j status| |/home/noduslabs/webapps/infranodus/bin/forever stopall&/home/noduslabs/webapps/infranodus/infranodus/app.js&/home/noduslabs/neo4j-community-2.0.1/bin/neo4j start

它做每件事都很好

但是cron不会每分钟都进行检查,也不会重新启动任何东西

PS当我做
crontab-l
时,它列出了上面的内容,我使用
EDITOR=nano crontab-e
编辑它,以防万一

知道为什么吗


谢谢

问题在于Neo4J是一个Java程序,它没有正确地从cron运行–环境变量不同

我所做的是更改cron,使其运行shell脚本

***~/webapps/infranodus/bin/checkdb

checkdb
脚本中,我有:

#/bin/bash-l
/home/NodesLabs/neo4j-community-2.0.1/bin/neo4j start

它只是尝试重新启动数据库(如果它已经启动,它将不会启动,因为它是同一个进程)

这是一个解决方法,第一行使用
bash
shell是非常重要的,所以它使用相同的参数