Sonatype Nexus 库被删除的恢复方法
参考url: http://www.big-mouth.cn/blog/36.html
参考url: https://my.oschina.net/u/178116/blog/519840
今天在整理公司Maven私服的时候,不小心把Release库删掉了。瞬间冒出冷汗来了!公司所有的积累都没了啊,脑子里闪过第一个办法就是看是否有回收站,恰好在Nexus UI中看到了一个叫Trash…的功能。可是我点击后发现只有Empty Trash的功能,这要按下去还得了啊。

最后在Sonatype Nexus官方搜索到一篇文章,原文如下:
When you delete a repository from the Nexus UI, nexus will remove the repository from any groups it belongs too and move the repository contents to it’s trash folder. Sometimes you will want to restore this repository back into service.
To restore a deleted repository with id of ‘releases’:
1. mv sonatype-work/nexus/trash/releases sonatype-work/storage so that you end up with sonatype-work/storage/releases
2. Recreate the repository with the same repository id ‘releases’ using the repositories tab user interface.
3. Add the repository to any groups that it was in before.The act of creating the repository in the UI will force a reindex of the previous repository storage contents.
幸好!找到了被删除文件恢复的办法。最后按照官方所提供的办法成功地恢复了被删Release库下所有的数据。操作步骤如下:
- 首先找到sonatype-work/nexus/trash 下找到你删除的库,并保存到其他地方;

- 然后通过nexus控制台点击Add,选择Hosted Repository,然后输入被删除的Repository信息;


- 把刚才保存的库文件copy到指定的sonatype-work/nexus/storage/[releases]下即可;
- 点击列表中的Public Repositories,然后在下方的Configuration标签下将Releases添加到Ordered Group Repositories中;

- 最后Save保存就可以了。
Nexus的旧库迁移
参考url: http://www.cnblogs.com/zhangqingsh/archive/2013/03/14/2959301.html
4.旧库迁移(Nexus 到 Nexus)
旧库迁移其实非常简单,只需要将旧的库文件拷贝到新库对应位置,然后repair index就可以了。如:
将旧库的“/usr/local/nexus/sonatype-work/nexus/storage/releases”文件夹覆盖到新库的“/usr/local/nexus/sonatype-work/nexus/storage/releases”,然后“repair index”(需要花费一点时间),就可以了。
参考:https://support.sonatype.com/entries/21602547-How-do-I-migrate-an-existing-repository-to-Nexus-
4.旧库迁移(其他仓库到 Nexus)
官网有详细的描述:http://www.sonatype.com/books/nexus-book/reference/migrating.html