Skip to content

Latest commit

 

History

History
97 lines (84 loc) · 2.86 KB

INSTALL.zh_CN.org

File metadata and controls

97 lines (84 loc) · 2.86 KB

cloudcli 安装方法

1 下载源码编译

本工程是用 gb 编译的,gb 首页:https://getgb.io/

下载编译:

git clone https://github.com/idcos/cloudcli.git
cd cloudcli
gb build

或者使用make:

git clone https://github.com/idcos/cloudcli.git
cd cloudcli
make

编译完成后,为了方便以后使用,可以将 bin 目录下的二进制文件 cloudcli 放在系统 PATH 中。

2 首次使用

首次使用时会提示创建配置文件,如果打算继续使用,请选择 y

$ cloudcli
Do you want to create your config file?(y or n)y
You should set DataSource in your config file: /path/to/you/home/.cloudcli.ini

生成的配置文件(.cloudcli.ini)中各项说明参见下面的小节 配置文件说明

3 使用方式

cloudcli 命令支持的子命令和各个参数请参见:命令使用说明

4 配置文件说明

配置文件示例:

[Main]
sync=true         # 是否在多个node上并行执行命令  true: 串行执行  false: 并行执行
concurrentNum=5   # 并发执行的个数,sync=false 时生效
timeout=10        # 命令执行的timeout时间,单位是秒
loginShell=/bin/bash # 登录远程机器后使用的shell类型
fileTransBuf=10240   # 设置 get/put 子命令的文件传输 buffer 大小

[Logger]
level=debug       # log 等级,可以配置  debug,info,warn,error
logFile=          # 如果 logType 设置成 file,这里配置输出的log文件
logType=console   # 这里支持 console 和 file 2种配置,console:log直接输出到终端,file:log输出到文件

[DataSource]
type=yaml         # 可以远程连接的主机信息,目前只支持 yaml格式
conn=/path/to/test.yaml  # 存储主机和主机组信息的 yaml 数据源

[CmdAlias]        # 定义常用的命令,用在 exec 子命令的的 -c 参数中
-: cat /var/log/xxx.log
-: service nginx restart

存储主机和主机组信息的 yaml 文件示例:

NodeGroups:
    - GroupName: group001
      Nodes:
          - Name: golang
            Host: 192.168.1.1
            Port: 22
            User: user
            Password: password
            KeyPath: 
          - Name: python
            Host: 192.168.1.2
            Port: 22
            User: root
            Password: rootpass
            KeyPath: 

    - GroupName: group002
      Nodes:
          - Name: elixir-lang
            Host: 10.0.0.1
            Port: 22
            User: testuser
            Password: testtest
            KeyPath: 
          - Name: elm-lang
            Host: elm-lang.cn
            Port: 22
            User: root
            Password: 
            KeyPath: /home/user/.ssh/private-key