Releases: llody55/gosible
Releases · llody55/gosible
gosible-v1.1
Full Changelog: https://github.com/llody55/gosible/commits/v1
使用说明
-
目录结构
├── go.mod ├── go.sum ├── hosts.txt └── gosible.go
-
参数说明
--hosts hosts.txt:指定包含主机信息的文件路径。 --group group1:指定要操作的主机组名称。在这个例子中,我们选择了 group1。 --run "echo 'Hello World'":指定要在每个主机上执行的命令。这里是简单的 echo 命令
-
配置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
-
文件下发 --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] 任务完成
-
命令运行 --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] 任务完成
-
运行脚本