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
如何以及何时删除旧的neo4j事务日志文件_Neo4j - Fatal编程技术网

如何以及何时删除旧的neo4j事务日志文件

如何以及何时删除旧的neo4j事务日志文件,neo4j,Neo4j,我的本地Neo4j在data/graph.db中有很多事务日志: 251M 3 Sep 16:44 neostore.transaction.db.0 255M 3 Sep 20:01 neostore.transaction.db.1 255M 3 Sep 23:20 neostore.transaction.db.2 251M 4 Sep 19:34 neostore.transaction.db.3 250M 4 Sep 22:16 neostore.transaction.db

我的本地Neo4j在
data/graph.db
中有很多事务日志:

251M  3 Sep 16:44 neostore.transaction.db.0
255M  3 Sep 20:01 neostore.transaction.db.1
255M  3 Sep 23:20 neostore.transaction.db.2
251M  4 Sep 19:34 neostore.transaction.db.3
250M  4 Sep 22:16 neostore.transaction.db.4
134M  5 Sep 05:02 neostore.transaction.db.5
16B  5 Sep 09:57 neostore.transaction.db.6
16B  7 Sep 16:44 neostore.transaction.db.7
我正在备份
graph.db
文件夹(我已经停止了neo4j实例),以便在另一个非现场实例中重新加载,因此最好减小文件夹大小

  • 有哪些方法可以控制这些日志
  • 如何检查给定的
    neostore.transaction.db.X
    文件是否已成功处理
  • 删除较旧的已处理文件是否安全
  • 文档中引用了逻辑日志,我认为它们是相同的文件:

    conf/neo4j.properties
    中,我将选项
    keep_logical_logs
    更改为
    100M大小

    # Keep logical logs, helps debugging but uses more disk space, enabled for
    # legacy reasons To limit space needed to store historical logs use values such
    # as: "7 days" or "100M size" instead of "true".
    keep_logical_logs=100M size
    
    并重新启动了neo4j,但它没有删除任何旧的日志文件。 neo4j停止后,我可以手动执行此操作吗?还是所有这些文件都是必需的? 我停止了neo4j,备份了
    graph.db
    目录,删除了所有的bar
    neostore.transaction.db.7
    ,然后再次启动了neo4j。它看起来很快乐,但是


    谢谢

    如果您的数据库状况良好,您可以删除所有的neostore.transaction.db.x文件,但我建议您备份它们

  • 停止Neo4j
  • 删除neostore.transaction.db.x文件
  • 启动Neo4j

  • 属性文件有一个用于旋转发送日志的参数:

    # Will keep logical logs which contains any transaction committed within 2 days
    keep_logical_logs=2 days
    
    有关可用的不同选项的更多详细信息,请查看文档

    更新:

    在neo4j 3.x中,配置已更改为:

    dbms.tx_log.rotation.retention_policy=<true/false>
    dbms.tx_log.rotation.retention_policy=<amount> <type>
    
    dbms.tx\u log.rotation.retention\u策略=
    
    dbms.tx_log.rotation.retention_policy=有关更多详细信息

    谢谢@MicTech。您知道neo4j文档中关于事务日志文件的任何“官方”信息吗?它们用于恢复和在线备份,因此如果您完全关闭数据库,您可以删除所有信息。除非您需要从该数据库中提取备份。@MichaelHunger说清楚,如果我停止数据库,请删除transaction.db文件,然后启动数据库。DB继续使用了一段时间,然后我希望进行备份,我将无法备份?谢谢。不要删除所有的交易文件。这将使您的设置无法使用。降低事务文件的推荐方法是通过conf文件。这不是一个解决方案-不要手动删除日志-而是使用retention_策略来实现类似的结果