Skip to content

Releases: llody55/gosible

gosible-v1.1

31 Oct 09:39
Compare
Choose a tag to compare
gosible-v1.1 Pre-release
Pre-release

Full Changelog: https://github.com/llody55/gosible/commits/v1

使用说明

  1. 目录结构

    ├── go.mod
    ├── go.sum
    ├── hosts.txt
    └── gosible.go
    
  2. 参数说明

    --hosts hosts.txt:指定包含主机信息的文件路径。
    --group group1:指定要操作的主机组名称。在这个例子中,我们选择了 group1。
    --run "echo 'Hello World'":指定要在每个主机上执行的命令。这里是简单的 echo 命令
  3. 配置hosts.txt文件

    [root@llody-dev ~/go-build]#cat hosts.txt 
    [group1]
    192.168.1.232:22:root:admin
    192.168.1.220:22:root:admin
    [group2]
    192.168.1.235:22:root:admin
    
  4. 文件下发 --copy

    [root@llody-dev ~/go-build]#gosible --hosts ./hosts.txt --group group1 --copy "/root/go-build/go.mod:/opt/go.mod"
    [192.168.1.220] 正在执行任务...
    Copying file /root/go-build/go.mod to host: 192.168.1.220:/opt/go.mod
    [192.168.1.232] 正在执行任务...
    Copying file /root/go-build/go.mod to host: 192.168.1.232:/opt/go.mod
    File /root/go-build/go.mod copied to 192.168.1.220:/opt/go.mod
    [192.168.1.220] 任务完成
    File /root/go-build/go.mod copied to 192.168.1.232:/opt/go.mod
    [192.168.1.232] 任务完成
    
  5. 命令运行 --run

    [root@llody-dev ~/go-build]#gosible --hosts ./hosts.txt --group group1 --run "ls -lah /opt/ | grep go"
    [192.168.1.220] 正在执行任务...
    Checking host: 192.168.1.220
    [192.168.1.232] 正在执行任务...
    Checking host: 192.168.1.232
    Result from 192.168.1.220:
    -rw-r--r--   1 root root  401 Oct 30 13:40 go.mod
    
    [192.168.1.220] 任务完成
    Result from 192.168.1.232:
    -rw-r--r--   1 root root 401 10月 30 13:40 go.mod
    
    [192.168.1.232] 任务完成
    
    [root@llody-dev ~/go-build]#gosible --hosts ./hosts.txt --group group1 --run "sh demo.sh"
    [192.168.1.220] 正在执行任务...
    Checking host: 192.168.1.220
    [192.168.1.232] 正在执行任务...
    Checking host: 192.168.1.232
    Result from 192.168.1.220:
    
                 ┏┓      ┏┓
                ┏┛┻━━━━━━┛┻┓
                ┃               ☃           ┃
                ┃  ┳┛   ┗┳ ┃
                ┃     ┻    ┃
                ┗━┓      ┏━┛
                  ┃      ┗━━━━━┓
                  ┃  神兽保佑     ┣┓
                  ┃ 永无BUG!     ┏┛
                  ┗┓┓┏━┳┓┏━━━━━┛
                   ┃┫┫ ┃┫┫
                   ┗┻┛ ┗┻┛
    
    
    [192.168.1.220] 任务完成
    Result from 192.168.1.232:
    
                 ┏┓      ┏┓
                ┏┛┻━━━━━━┛┻┓
                ┃               ☃           ┃
                ┃  ┳┛   ┗┳ ┃
                ┃     ┻    ┃
                ┗━┓      ┏━┛
                  ┃      ┗━━━━━┓
                  ┃  神兽保佑     ┣┓
                  ┃ 永无BUG!     ┏┛
                  ┗┓┓┏━┳┓┏━━━━━┛
                   ┃┫┫ ┃┫┫
                   ┗┻┛ ┗┻┛
    
    
    [192.168.1.232] 任务完成
    
  6. 运行脚本