我该如何在Nexus 3中获取特定仓库的大小?
例如,Artifactory可以通过UI显示“磁盘上的仓库大小”。
Nexus是否有类似的功能?如果没有-我该如何通过脚本获取这些信息?
您可以使用来自https://issues.sonatype.org/browse/NEXUS-14837的groovy脚本nx-blob-repo-space-report.groovy来使用管理员任务-对我来说速度太慢了
或者你可以从数据库中获取:
使用在nexus服务器上拥有nexus安装的用户登录(例如:nexus)
进入应用程序目录(例如:/opt/nexus):
$ cd /opt/nexus
运行java orient console:
$ 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;
获取在上一步中找到的repo row id的所有资产的总和:
> select sum(size) from asset where bucket = #15:9;
结果应该类似于(显然是按字节计算):
+----+------------+
|# |sum |
+----+------------+
|0 |224981921470|
+----+------------+
从https://support.sonatype.com/hc/en-us/articles/115002930827-Accessing-the-OrientDB-Console中获取的nexus数据库连接步骤
通过存储库名称汇总大小(代替第5和第6步):
> select sum(size) from asset where bucket.repository_name = 'releases';
前十大存储库,按大小排名:
> select bucket.repository_name as repository,sum(size) as bytes from asset group by bucket.repository_name order by bytes desc limit 10;
Nexus Space Utilization - GitHub
sudo docker exec -it <container-name> /bin/sh
),则可执行jar文件为:java -jar /opt/sonatype/nexus/lib/support/nexus-orient-console.jar
,然后在此之后连接命令是> CONNECT PLOCAL:/nexus-data/db/component admin admin
。 - phillipuniversechown -R nexus:nexus /opt/sonatype-work/nexus3/db
- itshorty