如何获得Nexus 3中特定存储库的大小?

例如,Artifactory通过UI显示存储库“磁盘大小”。

Nexus是否有类似的东西?如果不是,我如何通过脚本获取此信息?

最佳答案

您可以从https://issues.sonatype.org/browse/NEXUS-14837使用带有groovy脚本nx-blob-repo-space-report.groovy的管理任务-对我来说太慢了

或者您可以从数据库中获取它:


在nexus服务器上使用用户所有者的nexus安装登录(例如
关系)
转到应用程序目录(例如/ opt / nexus):

$ cd /opt/nexus
运行Java东方控制台:

$ java -jar ./lib/support/nexus-orient-console.jar
连接到本地数据库(例如/ opt / sonatype-work / nexus3 / db / component):

> CONNECT PLOCAL:/opt/sonatype-work/nexus3/db/component admin admin
通过repository_name值在@RID列中找到存储库行ID:

> select * from bucket limit 50;
获取上一步中具有回购行ID的所有资产的总和:

> select sum(size) from asset where bucket = #15:9;


结果应该像(显然以字节为单位):
+----+------------+ |# |sum | +----+------------+ |0 |224981921470| +----+------------+

nexus数据库连接步骤来自https://support.sonatype.com/hc/en-us/articles/115002930827-Accessing-the-OrientDB-Console

另一个有用的查询

按存储库名称的摘要大小(而不是5和6个步骤):

> select sum(size) from asset where bucket.repository_name = 'releases';


按大小排列的前10个存储库:

> select bucket.repository_name as repository,sum(size) as bytes from asset group by bucket.repository_name order by bytes desc limit 10;

关于nexus - 获取Nexus 3中特定存储库的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44816723/

10-16 16:05