# 命令行工具
DataMover 提供了功能强大的命令行界面 (CLI),让您可以通过命令行轻松执行数据传输任务。
# 安装 CLI
如果您已经全局安装了 DataMover,可以直接使用 CLI:
npm install -g datamover
或者使用 npx 临时运行:
npx datamover transfer --source ./source --destination ./dest
# 基本命令
# transfer
执行数据传输任务,这是最常用的命令。
datamover transfer --source <source> --destination <destination> [options]
示例:
# 本地文件传输
datamover transfer --source ./data --destination ./backup
# 数据库传输
datamover transfer --source "mysql://user:pass@localhost/db" --destination ./backup
# test
测试数据源和目标的连接性。
datamover test --source <source> --destination <destination>
示例:
datamover test --source ./data --destination ./backup
# validate
验证配置文件的有效性。
datamover validate <config-file>
示例:
datamover validate ./config.json
# version
显示 DataMover 版本号。
datamover version
或者使用简写:
datamover -v
# help
显示帮助信息。
datamover help
或者针对特定命令:
datamover help transfer
# 通用选项
以下选项可以用于所有命令:
# --config, -c
指定配置文件路径。
datamover transfer --config ./my-config.json
# --verbose, -V
启用详细输出。
datamover transfer --source ./src --destination ./dest --verbose
# --silent, -s
静默模式,不输出任何信息。
datamover transfer --source ./src --destination ./dest --silent
# --help, -h
显示帮助信息。
datamover --help
# --version, -v
显示版本号。
datamover --version
# transfer 命令选项
# --source, -S
指定数据源。
datamover transfer --source ./data --destination ./backup
# --destination, -D
指定数据目标。
datamover transfer --source ./data --destination ./backup
# --concurrency, -C
设置并发数。
datamover transfer --source ./src --destination ./dest --concurrency 8
# --retry, -r
设置重试次数。
datamover transfer --source ./src --destination ./dest --retry 5
# --timeout, -t
设置超时时间(毫秒)。
datamover transfer --source ./src --destination ./dest --timeout 30000
# --filter, -f
设置文件过滤器(支持 glob 模式)。
datamover transfer --source ./src --destination ./dest --filter "*.txt"
# --exclude, -e
排除指定文件(支持 glob 模式)。
datamover transfer --source ./src --destination ./dest --exclude "*.tmp"
# --report, -R
生成传输报告到指定文件。
datamover transfer --source ./src --destination ./dest --report ./report.json
# --dry-run, -d
预演模式,不实际执行传输。
datamover transfer --source ./src --destination ./dest --dry-run
# 配置文件
您可以使用 JSON 或 YAML 格式的配置文件来指定复杂的传输任务。
# JSON 配置示例
{
"source": "./data/source",
"destination": "./data/destination",
"options": {
"concurrency": 4,
"retry": 3,
"timeout": 30000,
"filter": "*.txt",
"exclude": "*.tmp"
}
}
# YAML 配置示例
source: ./data/source
destination: ./data/destination
options:
concurrency: 4
retry: 3
timeout: 30000
filter: "*.txt"
exclude: "*.tmp"
使用配置文件:
datamover transfer --config ./config.json
# 环境变量
DataMover 支持以下环境变量:
# DATAMOVER_CONCURRENCY
设置默认并发数。
DATAMOVER_CONCURRENCY=8 datamover transfer --source ./src --destination ./dest
# DATAMOVER_RETRY
设置默认重试次数。
DATAMOVER_RETRY=5 datamover transfer --source ./src --destination ./dest
# DATAMOVER_TIMEOUT
设置默认超时时间(毫秒)。
DATAMOVER_TIMEOUT=30000 datamover transfer --source ./src --destination ./dest
# DATAMOVER_LOG_LEVEL
设置日志级别(error, warn, info, verbose, debug)。
DATAMOVER_LOG_LEVEL=debug datamover transfer --source ./src --destination ./dest
# 使用示例
# 简单文件传输
datamover transfer --source ./local/data --destination ./backup/data
# 带选项的传输
datamover transfer \
--source ./data \
--destination ./backup \
--concurrency 8 \
--retry 5 \
--timeout 60000 \
--filter "*.json" \
--exclude "*.tmp" \
--report ./transfer-report.json
# 使用配置文件
datamover transfer --config ./production-config.json
# 预演传输
datamover transfer --source ./src --destination ./dest --dry-run --verbose
# 测试连接
datamover test --source "mysql://user:pass@localhost/db" --destination ./backup
# 自动化脚本
您可以在 shell 脚本中使用 DataMover CLI 实现自动化任务。
# Bash 脚本示例
#!/bin/bash
echo "开始数据传输任务"
datamover transfer \
--source ./data \
--destination ./backup \
--report ./daily-backup-report.json
if [ $? -eq 0 ]; then
echo "数据传输成功完成"
# 发送通知邮件或其他操作
else
echo "数据传输失败"
# 发送错误通知
fi
# Windows 批处理示例
@echo off
echo 开始数据传输任务
datamover transfer ^
--source ./data ^
--destination ./backup ^
--report ./daily-backup-report.json
if %ERRORLEVEL% EQU 0 (
echo 数据传输成功完成
REM 发送通知邮件或其他操作
) else (
echo 数据传输失败
REM 发送错误通知
)
通过这些命令行工具,您可以轻松地将 DataMover 集成到您的自动化工作流程中。
← 故障排除