我有一个部署在云服务器上的ReactJS-neo4j应用程序。目前,我使用neo4j浏览器手动创建各种neo4j数据库的备份,并使用以下命令导出到json:
cypher
CALL apoc.export.json.all("my-neo4j-database.json", { useTypes: true } );
现在我想让这个过程自动化。我想每天00:00自动执行上述查询
生成的.json文件应该会收到一个时间戳和预定义的名称,例如2208170000_Backup_myployment.json
生成的文件应该存储在/home/Backups/ploymentName中
有人能告诉我如何使上述过程自动化吗?
编辑:
我试着像这样创建cron文件-
00 00 * * * /bin/sh /home/runFile.sh
在runFile.sh中,我有以下内容-
cypher
CALL apoc.export.json.all("backup.json", { useTypes: true } );
但这并不管用。如何在此处的文件名中添加时间戳?
1条答案
按热度按时间8yparm6h1#
您需要更改<home_neo4j>/conf/neo4j.conf中的neo4j配置文件,如下所示。如果您使用的不是像Debian那样的Linux服务器,则文件的位置会有所不同。
第二行将使您能够将json文件从默认文件夹“导入”保存到您想要的任何文件夹。
然后打开连接到您的云服务器的终端(或ssh)。转到安装了cypher-shell的<home_neo4j>目录。复制并运行下面这一行脚本。
这将把json文件保存在/home/ackups/ploymentName中,就像在您的neo4j浏览器中所做的那样。
关于1)如何通过Linux命令在文件名中添加时间戳YYMMDD0000_,以及2)通过crontab计划每天午夜的作业,我将由您自己决定。祝你好运!