---
title: 批量导入源成分方式
description: "系统迁移支持批量导入源成分和添加成分信息两种方式。若选择批量导入源成分，支持通过脚本一键获取源节点上成分信息。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/portingadvisor/systemmigration/DevKit_Porting_0115.html
sourcePath: /source/zh/kunpengdevps/portingadvisor/systemmigration/DevKit_Porting_0115.html
indexId: 9a6be13bae0ffb91900debcac0b5ee715b296c3eb65fcaeb4c8fdcaccee2031d79
---
# 批量导入源成分方式

系统迁移支持批量导入源成分和添加成分信息两种方式。若选择批量导入源成分，支持通过脚本一键获取源节点上成分信息。

#### 前提条件

- 已获取节点信息采集脚本（devkit_disk_scan.sh）。
  请在“新建工程”页面，单击“批量导入源成分”，根据上方提示获取节点信息采集脚本。

- 扫描时会校验输出目录所在分区的可用空间，为防止磁盘写满，剩余空间需大于2GB或者总空间的5%（以较小值为准）。
- 默认会扫描支持迁移路线的中间件，若需迁移Java语言类中间件，请参考  配置中间件通用迁移流程
添加需要迁移的中间件。


#### 操作步骤

1. 使用 SSH 远程登录工具，以root用户登录源节点（x86），将获取的节点信息采集脚本上传至自定义目录，并进入该目录。
2. （可选）若添加Java语言类中间件，则需确认已配置白名单。

  a. 打开devkit_disk_scan.sh脚本。

```
vi devkit_disk_scan.sh
```


  b. 按“i”进入编辑模式，请查看DEFAULT_PACKAGE_TARS_CSV配置。
    若DEFAULT_PACKAGE_TARS_CSV中存在添加的Java语言类中间件，则无需修改；若不存在，请以英文逗号分隔进行添加，且需要确保名称大小写保持一致。

```
476 # 白名单：需要打包的组件（CSV）
: "${DEFAULT_PACKAGE_TARS_CSV:=Redis,Nginx,Tomcat,Elasticsearch,Resin,Nacos}"
478 DEFAULT_PACKAGE_TARS_CSV="$(printf %s "$DEFAULT_PACKAGE_TARS_CSV" | tr -d '[:space:]')"
479 export DEFAULT_PACKAGE_TARS_CSV
481 : "${PACK_BLACKLIST_CSV:=/usr/bin,/usr/local/bin,/usr/share/java,/usr/sbin}"
482 PACK_BLACKLIST_CSV="$(printf %s "$PACK_BLACKLIST_CSV" | tr -d '[:space:]')"
483 export PACK_BLACKLIST_CSV
```


  c. 按“Esc”键退出编辑模式，输入:wq!，按“Enter”键保存并退出文件。
3. 执行以下命令获取源节点成分信息。

```
bash devkit_disk_scan.sh
```


  返回信息包含如下内容则表示采集完成，获取打包的压缩包，即devkit-component-xx.xx.xx.xx-时间戳.tar.gz。

```
[2025-10-31 16:31:13] [INFO]
Generated a package
: /home/devkit-component-package/result/devkit-component-xx.xx.xx.xx-20251031162830.tar.gz (sha256=692af1c46b7528cecc56ed8dcd54629b0a0224d6127c2b1e846b33a2e5c9772b size=487856342)
[2025-10-31 16:31:13] [INFO]
Packaging completed.
```


**表1 参数说明**

| 参数 | 说明 |
| --- | --- |
| \-h | 查看帮助信息。 |
| \-R <path> | 扫描目录，识别该目录下中间件、数据库、应用等成分信息，并打包支持迁移的源成分信息。仅支持指定一个目录，且支持相对路径，默认为根目录“/”。 例如：\-R /home。 说明： 默认扫描根目录，扫描时间可能较长，请耐心等待。 |
| \-F <path> | 打包目录。中间件迁移过程中，部分业务配置或额外数据目录可能散落在非标准路径（例如“/data/app\_conf/”），无法被统一识别为中间件成分。可通过指定该目录进行打包，迁移时将同步拷贝至目标环境。多个目录请以英文逗号分隔，且支持相对路径。 |
| \-O <out\_path> | 扫描结果输出目录，默认为“/home”，会自动存放至“<out\_path>/devkit\-component\-package”路径下。 例如：\-O /data。 |
| \-p <num> | 扫描最大进程数，默认为1。 例如：\-p 8。 |
| \-g <DEBUG\|INFO> | 日志级别，默认为INFO。 DEBUG INFO |
| \-N | 静态扫描（不通过运行\-\-version识别版本号），默认已指定。 |
| \-z | 指定打包压缩包的并发进程数，默认为1。 例如：\-z 2。 |
| \-b | 后台运行脚本，也可使用nohup命令替代。 |
| \-L <file> | 指定后台重定向日志文件。默认为“<out\_path>/devkit\-component\-package/devkit\-component\-<IP地址>/scan.log”。 |
| \-P <file> | 将后台进程 PID 写入到该文件，建议与“\-b”选项搭配使用。默认为“<out\_path>/devkit\-component\-package/devkit\-component\-<IP地址>/devkit\-scan.pid”。 |
| \-S | 后台运行模式下，可查询运行状态（依赖PID文件）。 若扫描时指定“\-P”，查询运行状态时需同步指定“\-P”以获取PID文件。 若扫描时指定“\-O”且未指定“\-P”，查询运行状态时需同步指定“\-O”以获取PID文件。 |
| \-K | 后台运行模式下，停止运行（依赖PID文件）。 若扫描时指定“\-P”，停止运行时需同步指定“\-P”以获取PID文件。 若扫描时指定“\-O”且未指定“\-P”，停止运行时需同步指定“\-O”以获取PID文件。 |
