使用的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