You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用curl或wget批量下载Nexus Sonatype OSS仓库整个文件夹

可以通过wget或者curl结合Nexus自带的API实现批量下载整个仓库文件夹,两种常用可落地的方案如下:

方案1:使用wget递归下载(适合开启了目录浏览权限的仓库)

该方案操作最简单,Nexus默认的raw类型仓库均开启了目录浏览权限,其他类型仓库未关闭该权限的前提下均可使用:

wget -r -np -nH --cut-dirs=2 --user=你的账号 --password=你的密码 http://IP:8081/repository/目标仓库名/要下载的文件夹路径/

参数说明:

  • -r:开启递归下载
  • -np:不追溯父目录,避免下载目标文件夹以外的内容
  • -nH:不生成以IP/域名为名的根目录
  • --cut-dirs=2:去掉路径前2层的repository/仓库名前缀,避免下载的文件嵌套多层无用目录,可根据你的实际路径层级调整数值
方案2:curl结合Nexus REST API下载(更稳定,无目录浏览权限要求)

如果仓库关闭了目录浏览权限,可直接调用Nexus自带的官方API拉取文件列表后批量下载,适合生产环境使用:

  1. 第一步导出指定路径下的所有文件下载链接到本地文件
curl -u 你的账号:你的密码 "http://IP:8081/service/rest/v1/search/assets?repository=目标仓库名&parent=要下载的文件夹路径" | grep -o '"downloadUrl" : "[^"]*' | sed 's/"downloadUrl" : "//' > filelist.txt

如果要下载整个仓库根目录的所有内容,把parent=后面的内容留空即可。
2. 第二步批量下载列表内的所有文件

cat filelist.txt | xargs -n 1 curl -u 你的账号:你的密码 -O

如需每周自动更新,可将上述命令封装为脚本,配置定时任务执行即可,执行前可先清空本地旧目录实现全量同步。

通用注意事项

  • 密码含特殊字符时不要直接明文写在命令里,可去掉命令里的密码部分,只保留--user 你的账号参数,执行时会交互式提示输入密码,避免密码泄露
  • 如果是maven、npm等格式的仓库,建议使用对应生态的官方客户端做整库同步,效率比直接下载二进制文件更高

内容的提问来源于stack exchange,提问作者zoroloz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 01:06:10