基于IP或分组批量文件上传
简要描述:
- 基于IP或者多个IP或者分组名批量上传
请求URL:
http://127.0.0.1:3000/rex?token=1527661143jounhnkfhpsfynvkphcryehonhhlnjhm
请求方式:
- POST
参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
action | 是 | string | 模块名:必须为Common:Use:upload |
dir1 | 是 | string | 上传目录或者文件 |
dir2 | 是 | string | 本地保存目录 |
H | 是 | string | 指定主机多个空格间隔 |
G/g | 是 | string | 分组名 |
ipsep | 否 | int | 为1时,下载目录以IP为分割 |
random | 是 | string | 随机数 |
详细说明:
上述H参数可以替换成G参数,G参数指定分组,比如定义192.168.1.1到192.168.1.100为group分组,则使用时直接使用G分组的group名即可;H参数和G参数只能选择其中1个
dir1是目录且以/结尾时,会直接上传下层目录到目标目录,比如dir1=/test/,dir2=/tmp,则会把对应test目录下的文件上传到tmp目录中,不包含test目录自己.
dir1是目录且不以/结尾时, 则会把test目录直接上传到tmp目录
ipsep不存在时,比如上传远程主机(192.168.1.100)的test.txt文件到/tmp目录.
当ipsep=1时,就会把test.txt上传到/tmp/192.168.1.100/目录下.
请求示例
G=group&action=Common:Use:upload&dir1=/data/www/html1&dir2=/tmp&ipsep=1&random=randomupload
返回示例
{
"code" : "0", //0 成功 非0 失败
"data" : { //返回数据
},
"param" : { //请求参数
"G" : "group", //执行主机分组,通过rex -T查询,通过config/iplists.ini定义
"action" : "Common:Use:upload", //请求模块
"dir1" : "/data/www/html1", //download时:远程文件或者目录,upload时:本地文件或者目录
"dir2" : "/tmp", //download时:本地目录,upload时:远程目录
"ipsep" : "1", //当该参数不传时,会下载到/tmp目录中;等于1时下载到{dir2}/{ip地址};等于2时下载到{dir2}/{名字}
"random" : "randomupload", //随机数
"token" : "1527661143jounhnkfhpsfynvkphcryehonhhlnjhm" //token
},
"parseparameters" : { //解析,组合以及校验参数结果
"code" : "0", //0 成功 非0 失败
"msg" : "校验和解析参数成功",
"precmd" : "-G "group"", //请求参数前缀
"requestCmd" : "Common:Use:upload,--dir1="/data/www/html1",--dir2="/tmp",--ipsep="1",--random="randomupload",--token="1527661143jounhnkfhpsfynvkphcryehonhhlnjhm",--w="1"" //请求参数后缀
},
"print_stdout" : "0", //是否打印输出结果 0 不打印 1 打印
"respon" : { //请求命令返回结果信息
"chdir" : "/data/RexdeployV3", //命令执行路径
"cmd" : "/usr/bin/rex -qF -G "group" Common:Use:upload --dir1="/data/www/html1" --dir2="/tmp" --ipsep="1" --random="randomupload" --token="1527661143jounhnkfhpsfynvkphcryehonhhlnjhm" --w="1"", //执行命令
"code" : "1",
"msg" : "执行完成",
"ret" : "0", //最终执行命令返回值 0 成功 非0失败
"stderr" : "", //最终执行命令标准错误输出
"stdout" : "" //最终执行命令标准输出
},
"take" : "10" //执行命令花费时间
}
备注
通过Common:Use:getJson获取返回结果,见下小节