基于IP或分组批量文件下载

简要描述:

  • 基于IP或者多个IP或者分组名批量下载

请求URL:

  • http://127.0.0.1:3000/rex?token=1527661143jounhnkfhpsfynvkphcryehonhhlnjhm

请求方式:

  • POST

参数:

参数名 必选 类型 说明
action string 模块名:必须为Common:Use:download
dir1 string 下载目录或者文件
dir2 string 本地保存目录
H string 指定主机多个空格间隔
G/g string 分组名,H或者G参数任何一个
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:download&dir1=/data/www/html1&dir2=/tmp/download&ipsep=1&random=randomdownload

返回示例

{ 
     "code" : "0",  //0 成功 非0 失败
     "data" : {  //返回数据
     }, 
     "param" : { //请求参数
          "G" : "group",  //执行主机分组,通过rex -T查询,通过config/iplists.ini定义
          "action" : "Common:Use:download",  //请求模块
          "dir1" : "/data/www/html1",  //download时:远程文件或者目录,upload时:本地文件或者目录
          "dir2" : "/tmp/download",  //download时:本地目录,upload时:远程目录
          "ipsep" : "1",  //当该参数不传时,会下载到/tmp目录中;等于1时下载到{dir2}/{ip地址};等于2时下载到{dir2}/{名字}
          "random" : "randomdownload",  //随机数
          "token" : "1527661143jounhnkfhpsfynvkphcryehonhhlnjhm"  //token
     }, 
     "parseparameters" : {  //解析,组合以及校验参数结果
          "code" : "0",  //0 成功 非0 失败
          "msg" : "校验和解析参数成功", 
          "precmd" : "-G "group"",  //请求参数前缀
          "requestCmd" : "Common:Use:download,--dir1="/data/www/html1",--dir2="/tmp/download",--ipsep="1",--random="randomdownload",--token="1527661143jounhnkfhpsfynvkphcryehonhhlnjhm",--w="1""  //请求参数后缀
     }, 
     "print_stdout" : "0",  //是否打印输出结果 0 不打印 1 打印
     "respon" : {  //请求命令返回结果信息
          "chdir" : "/data/RexdeployV3",  //命令执行路径
          "cmd" : "/usr/bin/rex  -qF -G "group" Common:Use:download --dir1="/data/www/html1" --dir2="/tmp/download" --ipsep="1" --random="randomdownload" --token="1527661143jounhnkfhpsfynvkphcryehonhhlnjhm" --w="1"",  //执行命令
          "code" : "1", 
          "msg" : "执行完成", 
          "ret" : "0",  //最终执行命令返回值 0 成功 非0失败
          "stderr" : "",  //最终执行命令标准错误输出
          "stdout" : ""  //最终执行命令标准输出
     }, 
     "take" : "8"  //执行命令花费时间
 }

备注
通过Common:Use:getJson获取返回结果,见下小节

results matching ""

    No results matching ""