如何在Nexus 3中获得特定存储库的大小?
例如,Artifactory通过UI显示存储库“磁盘大小”。
Nexus有类似的东西吗?如果不是 - 我如何通过脚本获取此信息?
您可以使用来自https://issues.sonatype.org/browse/NEXUS-14837的groovy脚本nx-blob-repo-space-report.groovy的admin任务 - 对我来说太慢了
或者您可以从数据库中获取它:
$ cd /opt/nexus
$ java -jar ./lib/support/nexus-orient-console.jar
> CONNECT PLOCAL:/opt/sonatype-work/nexus3/db/component admin admin
> select * from bucket limit 50;
> 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 UI似乎没有这样的功能。要获取磁盘使用率,您可以登录Nexus服务器并转到存储目录。在那里,您将找到所有存储库作为单独的目录。
/opt/nexus/sonatype-work/nexus/storage# du -hs releases/
129G releases/