命令行参数
命令行版托管者程序robot的启动方式:
bash
./robot -s node.fmz.com/123456 # 启动后交互输入密码(不回显)
./robot node.fmz.com/123456 # 简写:robot 地址 [密码]
./robot -c robot.conf # 从配置文件读取参数
./robot -v # 查看版本
参数
| 参数 | 说明 |
|---|---|
-s 地址 | 与平台通信的地址,形如node.fmz.com/123456(123456为账号UID),可带ws://或wss://前缀。在托管者部署页面查看。 |
-p 密码 | 账号密码。不建议使用:明文密码会留在shell历史和进程列表中。不给时启动后交互输入,或写在配置文件里。 |
-n 名称 | 托管者名称,显示在平台的托管者页面上。 |
-w 目录 | 工作目录。logs(实盘数据、托管者日志、身份文件)都在这个目录下。 |
-c 文件 | 配置文件,格式见下文。 |
-u 用户 | 仅Linux/macOS:以该系统用户运行策略进程,托管者本身需要以root运行。使用-i时忽略。 |
-I IP | 指定本机出口IP,托管者与平台的连接以及策略访问交易所的连接都绑定这个地址,见下文。 |
-i 镜像 | 仅Linux/macOS:用该Docker镜像为每个策略进程创建独立容器运行,需要本机已安装并运行Docker。 |
-e 路径 | 配合-i:容器内的可执行文件路径。 |
-f JSON | 配合-i:Docker容器设置,可以直接写JSON,也可以写@文件路径从文件读取。 |
-H 地址 | 配合-i:容器回连宿主机的地址。 |
-vv | 输出详细日志(托管者与平台的交互消息等),默认不输出,以免日志膨胀。 |
-d DNS | 旧版的自定义DNS参数,仍可接受但会被忽略,托管者一律使用系统的DNS解析。 |
-v、-V、--version | 打印版本和编译信息后退出。 |
-h、--help | 打印用法。 |
--ctl-stdin | 从标准输入读取控制指令(没有-p时第一行为密码),收到stop或输入结束时优雅退出。供把托管者封装成服务的程序使用。 |
取值型参数也可以写成-参数=值,例如-n=server01。参数写错时打印用法并退出。
配置文件 robot.conf
每行一个键=值,键是参数名去掉-(s p n w u I d i e f H vv),#开头的行是注释:
ini
# robot.conf
s=node.fmz.com/123456
p=你的密码
n=server01
vv=true
- 用
-c指定配置文件;没有-c也没有给出通信地址时,如果启动目录下有robot.conf,会自动加载。 - 同一项命令行和配置文件都给了时,以命令行为准。
- 键区分大小写:
I是出口IP,i是Docker镜像。 - 配置文件路径和
-f @文件都相对启动目录解析(在-w切换目录之前)。 - 配置文件里有密码,记得设置只有自己可读(
chmod 600 robot.conf)。
指定出口IP(-I)
服务器有多个IP地址,而交易所API KEY绑定了其中某个IP的白名单时,用-I指定出口IP,例如./robot -s node.fmz.com/123456 -I 192.168.1.100。指定后托管者与平台的连接、策略访问交易所的连接都从该地址发出。使用-i容器隔离时,容器的网络里可能没有这个地址,此时需要让容器使用宿主机网络。
Windows界面版没有IP设置,需要指定出口IP时请使用命令行版。界面版只接受-s、-p、-n三个启动参数,用于预填界面,同时给出-s和-p时自动启动。