Skip to content

Instantly share code, notes, and snippets.

@Ivlyth
Last active April 6, 2025 13:18
Show Gist options
  • Save Ivlyth/d1d5c2074dadcf09fc539f29baa97cd0 to your computer and use it in GitHub Desktop.
Save Ivlyth/d1d5c2074dadcf09fc539f29baa97cd0 to your computer and use it in GitHub Desktop.
ambot params
(ambot3) root@Ivlyth ~
☹  ambot --help
usage: PROG [-h] [-t TARGETS [TARGETS ...]] [-u USER] [-p PASSWORD] [-P PORT] [--sudo-user SUDO_USER] [--sudo-password SUDO_PASSWORD] [--sudo-prompt SUDO_PROMPT] [--wrapper-shell WRAPPER_SHELL] [-o ONLY_TARGETS [ONLY_TARGETS ...]]
            [--ssh-connect-timeout SSH_CONNECT_TIMEOUT] [--ssh-auth-timeout SSH_AUTH_TIMEOUT] [--proxy PROXY] [--continue-targets CONTINUE_TARGETS [CONTINUE_TARGETS ...]] [--overlap-targets OVERLAP_TARGETS [OVERLAP_TARGETS ...]]
            [-C CUSTOMER] [-w WORKING_DIRECTORY] [-s STEPS [STEPS ...]] [-e EXCLUDE_STEPS [EXCLUDE_STEPS ...]] [-a ACTIONS [ACTIONS ...]] [-A STEP_ACTIONS [STEP_ACTIONS ...]] [-n] [-r ROLES [ROLES ...]] [-S SCRIPT_NAME]
            [--step-check STEP_CHECK] [--version] [-G] [-k] [--skip-init-target] [--dry-run] [--collect] [--online] [-f PARAM_FILE] [-N] [-x] [-d] [--yes]
            [--show {running,long_running,stdout,stderr,call,target,uploading} [{running,long_running,stdout,stderr,call,target,uploading} ...]] [-j MAKE_JOBS] [-c CONCURRENCY] [-c2 CONCURRENCY2] [-F] [-X] [-l] [--no-stats]
            [--compress-stats] [--skip-umask-check] [--file-mode FILE_MODE] [--directory-mode DIRECTORY_MODE] [--use-sudo] [--use-compress-upload] [--scp-above-size SCP_ABOVE_SIZE] [--scp-buff-size BUFF_SIZE]
            [--scp-window-size WINDOW_SIZE] [--scp-max-packet-size MAX_PACKET_SIZE] [--skip-retrieve-hardware-info] [--allow-unsafe] [--fast-debug] [--allow-unsafe-import] [--allow-dirty] [--allow-concurrency-conflict] [--skip-check]
            [--skip-pre-check SKIP_PRE_CHECK [SKIP_PRE_CHECK ...]] [--skip-post-check SKIP_POST_CHECK [SKIP_POST_CHECK ...]] [--shell] [-E] [--continue-after-shell] [--fake-action] [--debug-git]
            [--forward-debug-server FORWARD_DEBUG_SERVER] [--forward-debug-mapping FORWARD_DEBUG_MAPPING [FORWARD_DEBUG_MAPPING ...]] [-v] [-V] [--disable-color] [--log-file LOG_FILE] [--split-error-log]

options:
  -h, --help            show this help message and exit

Target:
  -t TARGETS [TARGETS ...], --targets TARGETS [TARGETS ...]
                        目标机器 IP 列表, 格式 [user:password@]IP[:port], 未指定部分均以全局参数为准。 也可以指定一个文件路径,文件内一行一个地址 (default: [])
  -u USER, --user USER  ssh 用户名 (default: root)
  -p PASSWORD, --password PASSWORD
                        ssh 用户密码 (default: None)
  -P PORT, --port PORT  ssh 端口 (default: 22)
  --sudo-user SUDO_USER
                        sudo 用户 (default: root)
  --sudo-password SUDO_PASSWORD
                        sudo 密码, 默认使用对应机器的 ssh 的密码 (default: None)
  --sudo-prompt SUDO_PROMPT
                        sudo prompt 内容, 通常无需修改 (default: sudo password: )
  --wrapper-shell WRAPPER_SHELL
                        自定义 shell, 通常无需修改 (default: /bin/bash -l -c )
  -o ONLY_TARGETS [ONLY_TARGETS ...], --only-targets ONLY_TARGETS [ONLY_TARGETS ...]
                        仅处理目标机器 IP 列表。此处仅可填写 IP 地址 (default: [])
  --ssh-connect-timeout SSH_CONNECT_TIMEOUT
                        ssh 连接超时时间 (default: 60.0)
  --ssh-auth-timeout SSH_AUTH_TIMEOUT
                        ssh 认证超时时间 (default: 60.0)
  --proxy PROXY         ssh 代理服务器地址, 格式 [user:password@]IP[:port], 省略的项目均使用全局参数 (default: None)
  --continue-targets CONTINUE_TARGETS [CONTINUE_TARGETS ...]
                        允许本地存在指定机器的安装进度信息的情况下继续【执行】安装 (default: [])
  --overlap-targets OVERLAP_TARGETS [OVERLAP_TARGETS ...]
                        允许指定的机器上存在已安装信息的情况下【正常】执行安装 (default: [])
  -C CUSTOMER, --customer CUSTOMER
                        本次安装的客户信息, 将会被记录到安装历史中以便查阅 (default: )

Steps:
  -w WORKING_DIRECTORY, --working-directory WORKING_DIRECTORY
                        工作目录, 默认为当前目录 (default: /root)
  -s STEPS [STEPS ...], --steps STEPS [STEPS ...]
                        指定要处理的步骤 (default: [])
  -e EXCLUDE_STEPS [EXCLUDE_STEPS ...], --exclude-steps EXCLUDE_STEPS [EXCLUDE_STEPS ...]
                        指定要过滤掉的步骤 (default: [])
  -a ACTIONS [ACTIONS ...], --actions ACTIONS [ACTIONS ...]
                        指定要执行的步骤 (default: [])
  -A STEP_ACTIONS [STEP_ACTIONS ...], --step-actions STEP_ACTIONS [STEP_ACTIONS ...]
                        指定步骤要执行的步骤, 比如 stepA:install,start stepB:start,init (default: [])
  -n, --no-deps         不要解析依赖️ (default: False)
  -r ROLES [ROLES ...], --roles ROLES [ROLES ...]
                        指定内置的角色名称 (default: [])
  -S SCRIPT_NAME, --script-name SCRIPT_NAME
                        步骤脚本名称, XXX.py (default: install)
  --step-check STEP_CHECK
                        部署前针对 step 更细粒度的校验 (default: step_check)

Running:
  --version             打印版本信息 (default: False)
  -G, --save-svg        生成 action scripts 的依赖关系的 svg 文件并尝试在浏览器打开 (default: False)
  -k, --keep-svg        如果成功在浏览器打开生成的 svg 文件, 则默认删除该 svg 文件, 使用该参数进行保留 (default: False)
  --skip-init-target    不要执行 init target (default: False)
  --dry-run             演习模式, 模拟执行每一个步骤, 不实际连接服务器执行 (default: False)
  --collect             运行离线收集模式 (default: False)
  --online              联网运行模式, 将联网安装 yum / pip package [TODO] (default: False)
  -f PARAM_FILE, --param-file PARAM_FILE
                        指定读取/保存参数到指定文件 (default: None)
  -N, --no-ask          不要交互问询参数 (default: False)
  -x, --no-ask-already-give
                        不要询问指定参数文件中已经有了的值 (default: False)
  -d, --use-default-when-no-ask
                        不要问询的时候允许参数文件中不提供包含默认值的参数值 (default: False)
  --yes                 总是以 yes 来回答交互, 谨慎使用 (default: False)
  --show {running,long_running,stdout,stderr,call,target,uploading} [{running,long_running,stdout,stderr,call,target,uploading} ...]
                        展示哪些 fabric 层面的日志 (default: [])
  -j MAKE_JOBS, --make-jobs MAKE_JOBS
                        make -j 的值 (default: 8)
  -c CONCURRENCY, --concurrency CONCURRENCY
                        并发装机数量 (default: 8)
  -c2 CONCURRENCY2, --concurrency2 CONCURRENCY2
                        机器内并发步骤数量 (default: 1)
  -F, --force           强制执行所有步骤, 不要应用智能跳过, -FF 全局步骤也强制重新执行 (default: 0)
  -X, --dont-skip-by-action-func
                        所有步骤默认都基于 action 函数进行快速跳过, 即使命令行关闭, 步骤内依然可以单独开启 (default: False)
  -l, --include-lineno  生成栈指纹的时候包含代码行号, mainly for test (default: False)
  --no-stats            不下载也不上传 stats, 但是在正确结束后会删除本地产生的 stats (default: False)
  --compress-stats      是否开启压缩上传下载 stats 文件 (default: False)
  --skip-umask-check    跳过对 umask 的检查 (default: False)
  --file-mode FILE_MODE
                        文件权限模式, 默认 0644 (default: 0644)
  --directory-mode DIRECTORY_MODE
                        目录权限模式, 默认 0755 (default: 0755)
  --use-sudo            是否使用 sudo 来执行命令,非 root 用户需要使用 (default: False)
  --use-compress-upload
                        是否开启压缩上传, 若开启则特定的几个 Ambot api 内部会先归档压缩文件后再上传 (default: False)
  --scp-above-size SCP_ABOVE_SIZE
                        当上传的文件大小超过指定大小(单位 MB)时使用 scp 代替 sftp, 默认为 1024MB 若指定大小为 0 则表示不启用 scp (default: 1024)
  --scp-buff-size BUFF_SIZE
                        scp buff_size 大小 (default: 65536)
  --scp-window-size WINDOW_SIZE
                        scp window_size 大小 (default: 2097152)
  --scp-max-packet-size MAX_PACKET_SIZE
                        scp max_packet_size 大小 (default: 32768)
  --skip-retrieve-hardware-info
                        跳过获取目标机器的硬件信息 (default: False)

Unsafe:
  --allow-unsafe        开启 Unsafe 下的所有开关, 外加 --fast-debug 控制的所有开关 (default: False)
  --fast-debug          快速开启 --no-stats / --skip-init-target / --dont-skip-by-action-func / --skip-check / --allow-dirty (default: False)
  --allow-unsafe-import
                        允许导入 ambot api 和 param 之外的 module (DO NOT USE IT) (default: False)
  --allow-dirty         允许执行处于 dirty 状态的自动化项目 (default: False)
  --allow-concurrency-conflict
                        允许多 Ambot 实例同时操控同一台目标机器 (default: False)
  --skip-check          跳过服务器硬件信息检测 (default: False)
  --skip-pre-check SKIP_PRE_CHECK [SKIP_PRE_CHECK ...]
                        跳过指定步骤的安装前检查, 使用 all 可以跳过全部 (default: [])
  --skip-post-check SKIP_POST_CHECK [SKIP_POST_CHECK ...]
                        跳过指定步骤的安装后检查, 使用 all 可以跳过全部 (default: [])

Shell:
  --shell               加载完 step scripts 之后进入到交互 shell (default: False)
  -E, --error-shell     发生错误的时候进入到交互 shell (default: False)
  --continue-after-shell
                        针对 --shell, 退出 shell 后继续运行 (default: False)

Debug:
  --fake-action         使用固定的测试函数替换所有真实的 action function (default: False)
  --debug-git           调试运行过程中使用到的 git 命令 (default: False)
  --forward-debug-server FORWARD_DEBUG_SERVER
                        ssh forward debug 远程服务器的地址, 格式 [user:password@]IP[:port]; 端口默认为 22, 用户名默认为 root; (default: [email protected])
  --forward-debug-mapping FORWARD_DEBUG_MAPPING [FORWARD_DEBUG_MAPPING ...]
                        ssh forward 映射规则; 格式 ip:port1,port2,port3 (default: [])

Logging:
  -v, --verbose         more v, more output to stdout (default: 0)
  -V, --file-verbose    more V, more output to log file (default: 0)
  --disable-color
  --log-file LOG_FILE   运行日志文件 (default: /root/.ambot/ambot.log)
  --split-error-log     单独记录错误日志, 仅启用 --log-file 情况下生效, 错误日志将写入 <log-file>.error.log (default: False)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment