问题 从本地nexus存储库中删除超过2年的工件


我们在一些旧硬件上运行nexus,这些硬件在磁盘空间方面有限,并且想要删除超过某个阈值的工件。

有什么方法可以做到这一点,而不是找到和组合 卷曲


8712
2017-07-17 08:17


起源



答案:


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

不幸的是,这不适用于托管发行版存储库。


7
2017-07-17 20:11





如上所述 Sonatype博客帖子链接 来自gavenkoa答案中博客的评论,因为Nexus 2.5内置了“从存储库中删除发行版”计划任务,可以配置为删除保留定义数字的旧版本。

这足以满足我们的需求。


5
2018-03-27 10:29



@Freedman我同意内置功能比手写更好(特别是如果在未来的Nexus版本中更改了存储库布局)。 +1 - gavenkoa


答案:


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

不幸的是,这不适用于托管发行版存储库。


7
2017-07-17 20:11





如上所述 Sonatype博客帖子链接 来自gavenkoa答案中博客的评论,因为Nexus 2.5内置了“从存储库中删除发行版”计划任务,可以配置为删除保留定义数字的旧版本。

这足以满足我们的需求。


5
2018-03-27 10:29



@Freedman我同意内置功能比手写更好(特别是如果在未来的Nexus版本中更改了存储库布局)。 +1 - gavenkoa


删除所有无法访问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个版本以外的所有版本)


4
2018-03-20 09:53



您好,这两个命令执行到底应该在哪里?我的意思是...我的/ nexus-data文件夹安装在root中,但是其中有很多子文件夹,我认为删除那里的每个未使用的文件都很危险。 - icordoba
@icordoba你看过了吗? github.com/akquinet/nexus_cleaner ?如果Nexus将其存储格式更改为某种二进制形式 - 您就缺乏了。 - gavenkoa
谢谢。我终于使用这个groovy脚本解决了我的问题: github.com/xninjaxelitex/nexus3-cleanup-release-artifact - icordoba


自动清除超过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

0
2017-09-29 02:52