【问题标题】:Deleting artifacts older than 2 years from local nexus repository从本地 Nexus 存储库中删除超过 2 年的工件
【发布时间】:2018-12-18 19:55:29
【问题描述】:

我们在一些磁盘空间有限的旧硬件上运行 nexus,并希望删除超过某个阈值的工件。

除了 find 和 curl 的组合之外,还有其他方法吗?

【问题讨论】:

    标签: nexus


    【解决方案1】:

    有一个计划任务可以自动删除旧的快照版本:

    很遗憾,这不适用于托管的发布存储库。

    【讨论】:

      【解决方案2】:

      正如在 givenkoa 的回答中的博客中的评论中提到的 Sonatype blog post linked 所述,自 Nexus 2.5 以来,有一个内置的“从存储库中删除版本”计划任务,可以将其配置为删除保留定义数量的旧版本。

      这足以满足我们的需求。

      【讨论】:

      • @Freedman 我同意内置功能比手写更好(特别是如果存储库布局在未来的 Nexus 版本中发生变化)。 +1
      【解决方案3】:

      删除超过 100 天无人访问且超过 200 天未被修改的所有文件:

      find . -type f -atime +100 -mtime 200 -delete
      

      清理空目录:

      find . -type d -empty -delete
      

      或者查看https://github.com/akquinet/nexus_cleaner/blob/master/nexus_clean.sh 和相应的博客条目http://blog.akquinet.de/2013/12/09/how-to-clean-your-nexus-release-repositories/(删除除最近10 个版本之外的所有版本)。

      【讨论】:

      • 你好,这2个find命令到底应该在哪里执行?我的意思是...我的 /nexus-data 文件夹安装在根目录中,但其中有很多子文件夹,我认为删除那里所有未使用的文件很危险。
      • @icordoba 你看过github.com/akquinet/nexus_cleaner 吗?如果 Nexus 将其存储格式更改为某种二进制形式 - 你就完蛋了。
      • 谢谢。我终于用这个 groovy 脚本解决了我的问题:github.com/xninjaxelitex/nexus3-cleanup-release-artifact
      • 你不能像上面那样使用“find”从连接节点中删除文件。它将损坏数据并导致数据库的链接问题。
      • Nexus 有“修复索引”。您需要重新启动它并触发修复。
      【解决方案4】:

      自动清除超过 30 天(你可以更改它)不从 nexus 3 下载 docker 图像

      https://gist.github.com/anjia0532/4a7fee95fd28d17f67412f48695bb6de

      # nexus3's username and pwd
      username = 'admin'
      password = 'admin123'
      
      # nexus host
      nexusHost = 'http://localhost:8081'
      
      # purge repo
      repoName = 'docker'
      
      # older than days
      days = 30
      
      #change and run it
      

      【讨论】:

        【解决方案5】:

        对于 Nexus2,您可以使用我的 Spring Boot 应用程序https://github.com/vernetto/nexusclean,您可以根据日期和要保留的最少工件数定义规则,它会生成“rm -rf”命令(使用 REST API 是该死的)慢)。

        对于 Nexus3,我肯定会使用 Groovy 脚本作为“执行管理任务”。一个贴在这里groovy script to delete artifacts on nexus 3 (not nexus 2)

        【讨论】:

          猜你喜欢
          • 2011-01-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-25
          • 1970-01-01
          • 2015-09-16
          • 2022-06-10
          • 2023-04-09
          相关资源
          最近更新 更多