N3dr备份还原Nexus仓库
LiuSovia 化神

N3dr备份还原Nexus仓库

项目介绍

n3dr 是一个用于备份和恢复 Nexus 3 仓库的开源工具。
Nexus 3 是一个广泛使用的仓库管理器,用于管理软件包和构件。
n3dr 提供了一个简单的方式来备份 Nexus 3 仓库中的所有组件,确保数据的安全性和可恢复性。

在线安装go环境

1. 下载指定版本的压缩包 (以 1.22.0 为例,可根据需要换成最新版)

1
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz

2. 解压到 /usr/local (需要 sudo 权限)

1
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz

3. 配置环境变量 (添加到 ~/.bashrc 或 ~/.zshrc)

1
2
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc

4. 验证

1
go version

在线安装n3dr

1
go install github.com/030/n3dr/cmd/n3dr@latest

1.检查二进制文件是否存在:

1
ls -l $(go env GOPATH)/bin/n3dr

如果你能看到这个文件,说明编译成功了。

2.直接运行测试:

1
n3dr --version

如果提示 command not found,请参考我之前提到的,将 $(go env GOPATH)/bin 加入到系统的 PATH 环境变量中。

3.将配置写入 .bashrc

1
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.bashrc

4.使配置立即生效

1
source ~/.bashrc

5.测试命令是否可以直接调用

1
n3dr --version

备份

1
n3dr repositoriesV2 --backup   --n3drURL "192.168.11.6:8081"   --n3drUser "admin"   --n3drPass "Best12358"   --https=false

还原

1
n3dr repositoriesV2 --upload --n3drURL "192.168.11.6:18081"   --n3drUser "admin"   --n3drPass "12345678"   --https=false --directory-prefix "nuget-hosted"

简单的上传接口

如果有少量的报需要上传,可以使用下面的接口,传入需要上传的文件夹名称。
nuget-hosted仓库名称可以根据自己相应的替换。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh

nugetPkgDir=$1

nexusUser=admin
nexusPaswd=12345678
nexusUrl=http://192.168.11.6:8081

if [ -z $nugetPkgDir ];then
echo "请输入nuget包所在的文件夹"
echo "示例./nexusPushNugetPkg.sh nugetPkg"
exit
fi

cd $nugetPkgDir

for i in `ls *.nupkg`;do
curl -u ${nexusUser}:${nexusPaswd} -X 'POST' \
"${nexusUrl}/service/rest/v1/components?repository=nuget-hosted" \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-H 'X-Nexus-UI: true' \
-F "nuget.asset=@${i}"
done

The End

 评论
评论插件加载失败
正在加载评论插件