GitHub

CLI 命令参考

anx 提供四个子命令:run / ping / exec / vault

通用连接参数

run / ping / exec 共享:

参数说明缺省
-i, --inventory <FILE>inventory 文件路径inventory.yml
-l, --limit <PATTERN>限定主机(all / 组名 / 主机名,逗号分隔)all
-f, --forks <N>并发数16
--timeout <SECS>连接超时(秒)10
--ask-vault-pass / --vault-password-filevault 密码来源(亦可用 ANX_VAULT_PASSWORD 环境变量)

anx run — 执行 playbook

anx run site.yml -i inventory.yml
anx run site.yml -l web1 -f 32 -e env=prod -e app_port=8080

-e/--extra-var key=value 注入最高优先级变量,可多次。任一主机失败时退出码为 2。

anx ping — 测试连通性

anx ping -i inventory.yml
anx ping -i inventory.yml -l db

对每台主机建立 SSH 连接并执行 echo,验证认证与网络。

anx exec — 临时命令

anx exec "uptime" -i inventory.yml -l web
anx exec "systemctl restart nginx" -i inventory.yml -l web -b   # -b = sudo

anx vault — 配置加密

anx vault encrypt <file>    # 就地加密
anx vault decrypt <file>    # 就地解密
anx vault view <file>       # 解密打印到 stdout(不落盘)
anx vault edit <file>       # $EDITOR 编辑(明文只在临时文件)
anx vault rekey <file>      # 更换密码

退出码

退出码含义
0全部成功
1参数 / 配置错误(inventory 解析失败、pattern 不匹配等)
2执行失败(任一主机任务失败或不可达)