使用的nexus为3.3.8,以上备份及还原方式建议使用3.1.0版本以上

1. nexus备份

nexus完整的备份需要执行如下备份步骤:

1)blob文件的备份

blob文件备份:可以直接使用tar命令将/export/data/nexus/blobs目录下的所有目录打包进行备份。Data目录在/nexus/bin/nexus.vmoptions文件-Dkaraf.data定义。

2)数据库的备份

数据库备份:在管理页面新建Tasks,配置Admin – Export database for backup **。

填入的备份文件的存放路径,备份执行后如下图:

2. nexus恢复

1)停止nexus服务,根据不同部署方式,各自停止

2)移除/nexus-data/db中所有数据(如果容器部署,可以理解为容器挂载映射出来的nexus-data/目录下db)

3)将备份目录中每个文件最新的.bak文件拷贝到/nexus-data/restore-from-backup

4)删除原有/nexus-data/blobs下所有文件,然后备份的blob文件解压到/nexus/blobs

5)重启nexus

注意:db目录如果有残留数据,restore-from-backup目录里面的备份不会被恢复。如果已经恢复完毕及时删除restore-from-backup/下面备份数据。

3. admin密码重置

1)因为恢复数据会代入之前的账号密码,进入容器

2) 执行java -jar/opt/sonatype/nexus/lib/support/nexus-orient-console.jar

3) 再执行connect plocal:/nexus-data/db/security admin admin

4)重置密码为admin123 :

update user SET password="$shiro1$SHA-512$1024$NE+wqQq/TmjZMvfI7ENh/g==$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==" UPSERT WHERE

 5)确认目录是否一致:cd /nexus-data/db/security

6)再重启nexus