mirror of
https://github.com/jaywcjlove/reference.git
synced 2025-06-17 04:31:22 +08:00
1018 lines
52 KiB
HTML
1018 lines
52 KiB
HTML
<!doctype html>
|
||
<html lang="en" data-color-mode="dark">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>Ansible 备忘清单
|
||
& ansible cheatsheet & Quick Reference</title>
|
||
<meta content="width=device-width, initial-scale=1" name="viewport">
|
||
<meta description="此快速参考备忘单提供了使用 Ansible 的各种方法。
|
||
|
||
入门,为开发人员分享快速参考备忘单。">
|
||
<meta keywords="ansible,reference,Quick,Reference,cheatsheet,cheat,sheet">
|
||
<meta name="author" content="jaywcjlove">
|
||
<meta name="license" content="MIT">
|
||
<meta name="funding" content="https://jaywcjlove.github.io/#/sponsor">
|
||
<meta rel="apple-touch-icon" href="../icons/touch-icon-iphone.png">
|
||
<meta rel="apple-touch-icon" sizes="152x152" href="../icons/touch-icon-ipad.png">
|
||
<meta rel="apple-touch-icon" sizes="180x180" href="../icons/touch-icon-iphone.png">
|
||
<meta rel="apple-touch-icon" sizes="167x167" href="../icons/touch-icon-ipad-retina.png">
|
||
<meta rel="apple-touch-icon" sizes="120x120" href="../icons/touch-icon-iphone-retina.png">
|
||
<link rel="icon" href="../icons/favicon.svg" type="image/svg+xml">
|
||
<link href="../style/style.css" rel="stylesheet">
|
||
<link href="../style/katex.css" rel="stylesheet">
|
||
</head>
|
||
<body><nav class="header-nav"><div class="max-container"><a href="../index.html" class="logo"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
|
||
<path d="m21.66 10.44-.98 4.18c-.84 3.61-2.5 5.07-5.62 4.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2 1.17-2.42 3.16-3.07 6.5-2.28l1.67.39c4.19.98 5.47 3.05 4.49 7.23Z" fill="#c9d1d9"></path>
|
||
<path d="M15.06 19.39c-.62.42-1.4.77-2.35 1.08l-1.58.52c-3.97 1.28-6.06.21-7.35-3.76L2.5 13.28c-1.28-3.97-.22-6.07 3.75-7.35l1.58-.52c.41-.13.8-.24 1.17-.31-.3.61-.54 1.35-.74 2.2l-.98 4.19c-.98 4.18.31 6.24 4.48 7.23l1.68.4c.58.14 1.12.23 1.62.27Zm2.43-8.88c-.06 0-.12-.01-.19-.02l-4.85-1.23a.75.75 0 0 1 .37-1.45l4.85 1.23a.748.748 0 0 1-.18 1.47Z" fill="#228e6c"></path>
|
||
<path d="M14.56 13.89c-.06 0-.12-.01-.19-.02l-2.91-.74a.75.75 0 0 1 .37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z" fill="#228e6c"></path>
|
||
</svg>
|
||
<span class="title">Quick Reference</span></a><div class="menu"><a href="javascript:void(0);" class="searchbtn" id="searchbtn"><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
|
||
<path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
|
||
</svg><span>搜索</span><span>⌘K</span></a><a href="https://github.com/jaywcjlove/reference/blob/main/docs/ansible.md" class="edit" target="__blank"><svg viewBox="0 0 36 36" fill="currentColor" height="1em" width="1em"><path d="m33 6.4-3.7-3.7a1.71 1.71 0 0 0-2.36 0L23.65 6H6a2 2 0 0 0-2 2v22a2 2 0 0 0 2 2h22a2 2 0 0 0 2-2V11.76l3-3a1.67 1.67 0 0 0 0-2.36ZM18.83 20.13l-4.19.93 1-4.15 9.55-9.57 3.23 3.23ZM29.5 9.43 26.27 6.2l1.85-1.85 3.23 3.23Z"></path><path fill="none" d="M0 0h36v36H0z"></path></svg><span>编辑</span></a><button id="darkMode" type="button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="light" height="1em" width="1em">
|
||
<path d="M6.995 12c0 2.761 2.246 5.007 5.007 5.007s5.007-2.246 5.007-5.007-2.246-5.007-5.007-5.007S6.995 9.239 6.995 12zM11 19h2v3h-2zm0-17h2v3h-2zm-9 9h3v2H2zm17 0h3v2h-3zM5.637 19.778l-1.414-1.414 2.121-2.121 1.414 1.414zM16.242 6.344l2.122-2.122 1.414 1.414-2.122 2.122zM6.344 7.759 4.223 5.637l1.415-1.414 2.12 2.122zm13.434 10.605-1.414 1.414-2.122-2.122 1.414-1.414z"></path>
|
||
</svg>
|
||
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="dark" height="1em" width="1em">
|
||
<path d="M12 11.807A9.002 9.002 0 0 1 10.049 2a9.942 9.942 0 0 0-5.12 2.735c-3.905 3.905-3.905 10.237 0 14.142 3.906 3.906 10.237 3.905 14.143 0a9.946 9.946 0 0 0 2.735-5.119A9.003 9.003 0 0 1 12 11.807z"></path>
|
||
</svg>
|
||
</button><script src="../js/dark.js?v=1.8.3"></script><a href="https://github.com/jaywcjlove/reference" class="" target="__blank"><svg viewBox="0 0 16 16" fill="currentColor" height="1em" width="1em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></div></div></nav><div class="wrap h1body-exist max-container"><header class="wrap-header h1wrap"><h1 id="ansible-备忘清单"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em" viewBox="0 0 65 65">
|
||
<path fill="currentColor" d="M32,0 C49.672,0 64,14.328 64,32 C64,49.674 49.674,64 32,64 C14.326,64 0,49.674 0,32 C0,14.326 14.328,0 32,0 Z M32.539,12.688 C31.666,12.688 30.875,13.156 30.511,14.04 L16.52,47.664 L21.303,47.664 L26.837,33.801 L43.352,47.144 C44.016,47.681 44.496,47.924 45.119,47.924 C46.367,47.924 47.457,46.988 47.457,45.638 C47.457,45.418 47.379,45.068 47.239,44.694 L34.512,14.04 C34.148,13.156 33.412,12.688 32.539,12.688 Z M32.54,19.548 L40.82,39.986 L28.312,30.133 L32.54,19.548 Z" transform="translate(.38 .76)"></path>
|
||
</svg><a aria-hidden="true" tabindex="-1" href="#ansible-备忘清单"><span class="icon icon-link"></span></a>Ansible 备忘清单</h1><div class="wrap-body">
|
||
<p>此快速参考备忘单提供了使用 <a href="https://ansible.com">Ansible</a> 的各种方法。</p>
|
||
</div></header><div class="menu-tocs"><div class="menu-btn"><svg aria-hidden="true" fill="currentColor" height="1em" width="1em" viewBox="0 0 16 16" version="1.1" data-view-component="true">
|
||
<path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
|
||
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#入门">入门</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#安装">安装</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#配置位置">配置位置</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#inventory文件hosts列表">Inventory文件(hosts列表)</a><a aria-hidden="true" class="leve4 tocs-link" data-num="4" href="#静态inventory">静态Inventory</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#inventory-主机组使用多个ip和域名">Inventory 主机组使用多个IP和域名</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#inventory-主机组使用子主机组">Inventory 主机组使用子主机组</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#给多台主机设置变量">给多台主机设置变量</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#命令行ad-hoc">命令行(ad-hoc)</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible">ansible</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-命令帮助">Ansible 命令帮助</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-galaxy-工具">Ansible Galaxy 工具</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-doc">ansible-doc</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-vault">ansible-vault</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-playbook">ansible-playbook</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-pull">ansible-pull</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible常用模块">ansible常用模块</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#另见">另见</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h2><div class="wrap-body">
|
||
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="安装"><a aria-hidden="true" tabindex="-1" href="#安装"><span class="icon icon-link"></span></a>安装</h3><div class="wrap-body">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th align="left">安装命令</th><th>环境</th></tr></thead><tbody><tr><td align="left"><code>brew install ansible</code></td><td>macos</td></tr><tr><td align="left"><code>yum install -y ansible</code></td><td>centos</td></tr><tr><td align="left"><code>pip install ansible</code></td><td>python</td></tr></tbody></table>
|
||
<hr>
|
||
<ul>
|
||
<li><a href="https://docs.ansible.com">Ansible 官方文档</a></li>
|
||
</ul>
|
||
</div></div></div><div class="wrap h3body-not-exist col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="配置位置"><a aria-hidden="true" tabindex="-1" href="#配置位置"><span class="icon icon-link"></span></a>配置位置</h3><div class="wrap-body">
|
||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th align="left">文件路径</th><th>说明</th></tr></thead><tbody><tr><td align="left"><code>/etc/ansible/ansible.cfg</code></td><td>系统范围的配置</td></tr><tr><td align="left"><code>~/ansible.cfg</code></td><td>用户特定的配置</td></tr><tr><td align="left"><code>$pwd/ansible.cfg</code></td><td>当前目录下的配置</td></tr></tbody></table>
|
||
<p>配置文件优先级</p>
|
||
<ul class="style-timeline">
|
||
<li>如果没有任何其他配置文件,默认使用 <code>/etc/ansible/ansible.cfg</code></li>
|
||
<li><code>~/.ansible.cfg</code> <code>家</code>目录下的 <code>.ansible.cfg</code></li>
|
||
<li>当前目录下的 <code>ansible.cfg</code>,即在同一目录下 <code>ansible.cfg</code> 优先级高于 <code>~/.ansible.cfg</code></li>
|
||
<li>环境变量 <code>exoport ANSIBLE_CONFIG=/$DIR/ansible.cfg</code></li>
|
||
</ul>
|
||
<!--rehype:className=style-timeline-->
|
||
<p>查看正在使用的 <code>ansible</code> 配置文件:</p>
|
||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">ansible <span class="token parameter variable">--version</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token string">"config file"</span>
|
||
</span></code></pre>
|
||
</div></div></div><div class="wrap h3body-exist"><div class="wrap-header h3wrap"><h3 id="inventory文件hosts列表"><a aria-hidden="true" tabindex="-1" href="#inventory文件hosts列表"><span class="icon icon-link"></span></a>Inventory文件(hosts列表)</h3><div class="wrap-body">
|
||
<h4 id="静态inventory"><a aria-hidden="true" tabindex="-1" href="#静态inventory"><span class="icon icon-link"></span></a>静态Inventory</h4>
|
||
<p><code>/etc/ansible/hosts</code></p>
|
||
<pre class="language-ini"><code class="language-ini code-highlight"><span class="code-line">mail.example.com
|
||
</span><span class="code-line">
|
||
</span><span class="code-line"><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">webservers</span><span class="token punctuation">]</span></span>
|
||
</span><span class="code-line">foo.example.com
|
||
</span><span class="code-line">bar.example.com
|
||
</span></code></pre>
|
||
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="inventory-主机组使用多个ip和域名"><a aria-hidden="true" tabindex="-1" href="#inventory-主机组使用多个ip和域名"><span class="icon icon-link"></span></a>Inventory 主机组使用多个IP和域名</h3><div class="wrap-body">
|
||
<pre class="language-ini"><code class="language-ini code-highlight"><span class="code-line"><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">web</span><span class="token punctuation">]</span></span>
|
||
</span><span class="code-line">172.18.12.5[1:4]
|
||
</span><span class="code-line"><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">webservers</span><span class="token punctuation">]</span></span>
|
||
</span><span class="code-line">www[01:50].example.com
|
||
</span></code></pre>
|
||
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="inventory-主机组使用子主机组"><a aria-hidden="true" tabindex="-1" href="#inventory-主机组使用子主机组"><span class="icon icon-link"></span></a>Inventory 主机组使用子主机组</h3><div class="wrap-body">
|
||
<pre class="language-ini"><code class="language-ini code-highlight"><span class="code-line"><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">usa:children</span><span class="token punctuation">]</span></span>
|
||
</span><span class="code-line">southeast
|
||
</span><span class="code-line">northeast
|
||
</span><span class="code-line">southwest
|
||
</span><span class="code-line">northwest
|
||
</span></code></pre>
|
||
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="给多台主机设置变量"><a aria-hidden="true" tabindex="-1" href="#给多台主机设置变量"><span class="icon icon-link"></span></a>给多台主机设置变量</h3><div class="wrap-body">
|
||
<p><code>group variables</code>
|
||
如果组中的所有主机共享一个变量值,则可以一次将该变量应用于整个组</p>
|
||
<pre class="language-ini"><code class="language-ini code-highlight"><span class="code-line"><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">atlanta</span><span class="token punctuation">]</span></span>
|
||
</span><span class="code-line">host1
|
||
</span><span class="code-line">host2
|
||
</span><span class="code-line">
|
||
</span><span class="code-line"><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">atlanta:vars</span><span class="token punctuation">]</span></span>
|
||
</span><span class="code-line"><span class="token key attr-name">ntp_server</span><span class="token punctuation">=</span><span class="token value attr-value">ntp.atlanta.example.com</span>
|
||
</span><span class="code-line"><span class="token key attr-name">proxy</span><span class="token punctuation">=</span><span class="token value attr-value">proxy.atlanta.example.com</span>
|
||
</span><span class="code-line">
|
||
</span></code></pre>
|
||
</div></div></div></div></div><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="命令行ad-hoc"><a aria-hidden="true" tabindex="-1" href="#命令行ad-hoc"><span class="icon icon-link"></span></a>命令行(ad-hoc)</h2><div class="wrap-body">
|
||
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="ansible"><a aria-hidden="true" tabindex="-1" href="#ansible"><span class="icon icon-link"></span></a>ansible</h3><div class="wrap-body">
|
||
<p>检查Inventory是否生效</p>
|
||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line">$ ansible all --list-hosts
|
||
</span></code></pre>
|
||
<p>ping所有目标</p>
|
||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line">$ ansible all <span class="token parameter variable">-m</span> <span class="token function">ping</span>
|
||
</span></code></pre>
|
||
<p>ping本地(不使用SSH连接)</p>
|
||
<pre class="wrap-text "><code class="language-shell code-highlight"><span class="code-line">$ ansible all <span class="token parameter variable">-i</span> localhost, <span class="token parameter variable">-e</span> <span class="token string">'{"ansible_connection": "local"}'</span> <span class="token parameter variable">-m</span> <span class="token function">ping</span>
|
||
</span></code></pre>
|
||
<!--rehype:className=wrap-text -->
|
||
<p>本地执行命令</p>
|
||
<pre class="wrap-text "><code class="language-shell code-highlight"><span class="code-line">$ ansible all <span class="token parameter variable">-i</span> localhost, <span class="token parameter variable">-e</span> <span class="token string">'{"ansible_connection": "local"}'</span> <span class="token parameter variable">-a</span> <span class="token string">'hostname'</span>
|
||
</span></code></pre>
|
||
<!--rehype:className=wrap-text -->
|
||
<p>获取本地主机的信息</p>
|
||
<pre class="wrap-text "><code class="language-shell code-highlight"><span class="code-line">$ ansible all <span class="token parameter variable">-i</span> localhost, <span class="token parameter variable">-e</span> <span class="token string">'{"ansible_connection": "local"}'</span> <span class="token parameter variable">-m</span> setup
|
||
</span></code></pre>
|
||
<!--rehype:className=wrap-text -->
|
||
<p>获取远程到本地</p>
|
||
<pre class="wrap-text "><code class="language-shell code-highlight"><span class="code-line">$ ansible target <span class="token parameter variable">-m</span> fetch <span class="token parameter variable">-a</span> <span class="token string">"src=/tmp/seq dest=/tmp/seq"</span>
|
||
</span></code></pre>
|
||
<!--rehype:className=wrap-text -->
|
||
<p>拷贝本地到远程</p>
|
||
<pre class="wrap-text "><code class="language-shell code-highlight"><span class="code-line">$ ansible target <span class="token parameter variable">-m</span> copy <span class="token parameter variable">-a</span> <span class="token string">"src=/tmp/seq dest=/tmp/seq"</span>
|
||
</span></code></pre>
|
||
<!--rehype:className=wrap-text -->
|
||
</div></div></div><div class="wrap h3body-not-exist col-span-2 row-span-3"><div class="wrap-header h3wrap"><h3 id="ansible-命令帮助"><a aria-hidden="true" tabindex="-1" href="#ansible-命令帮助"><span class="icon icon-link"></span></a>Ansible 命令帮助</h3><div class="wrap-body">
|
||
<!--rehype:wrap-class=col-span-2 row-span-3-->
|
||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line">$ ansible
|
||
</span><span class="code-line">$ ansible <span class="token operator"><</span>host-pattern<span class="token operator">></span> <span class="token punctuation">[</span>options<span class="token punctuation">]</span>
|
||
</span></code></pre>
|
||
<hr>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="left-align"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>-a MODULE_ARGS</code>, <code>--args=MODULE_ARGS</code></td><td>模块参数</td></tr><tr><td align="left"><code>--ask-vault-pass</code></td><td>询问保险库密码</td></tr><tr><td align="left"><code>-B SECONDS</code>, <code>--background=SECONDS</code></td><td>异步运行,X 秒后失败 (默认=N/A)</td></tr><tr><td align="left"><code>-C</code>, <code>--check</code></td><td>不要做任何改变;相反,尝试预测可能发生的一些变化</td></tr><tr><td align="left"><code>-D</code>, <code>--diff</code></td><td>更改(小)文件和模板时,显示这些文件中的差异; 与 <code>--check</code> 配合使用效果很好</td></tr><tr><td align="left"><code>-e EXTRA_VARS</code>, <code>--extra-vars=EXTRA_VARS</code></td><td>将附加变量设置为 key=value 或 YAML/JSON</td></tr><tr><td align="left"><code>-f FORKS</code>, <code>--forks=FORKS</code></td><td>指定要使用的并行进程数 (default=5)</td></tr><tr><td align="left"><code>-h</code>, <code>--help</code></td><td>显示此帮助信息并退出</td></tr><tr><td align="left"><code>-i INVENTORY</code>, <code>--inventory-file=INVENTORY</code></td><td>指定清单主机路径(默认=/etc/ansible/hosts)或逗号分隔的主机列表</td></tr><tr><td align="left"><code>-l SUBSET</code>, <code>--limit=SUBSET</code></td><td>进一步将选定主机限制为其他模式</td></tr><tr><td align="left"><code>--list-hosts</code></td><td>输出匹配主机列表;不执行任何其他操作</td></tr><tr><td align="left"><code>-m MODULE_NAME</code>, <code>--module-name=MODULE_NAME</code></td><td>要执行的模块名称 (default=command)</td></tr><tr><td align="left"><code>-M MODULE_PATH</code>, <code>--module-path=MODULE_PATH</code></td><td>指定模块库的路径 (default=None)</td></tr><tr><td align="left"><code>--new-vault-password-file=NEW_VAULT_PASSWORD_FILE</code></td><td>用于重新生成密钥的新保管库密码文件</td></tr><tr><td align="left"><code>-o</code>, <code>--one-line</code></td><td>压缩输出</td></tr><tr><td align="left"><code>--output=OUTPUT_FILE</code></td><td>用于加密或解密的输出文件名; 使用 - 用于标准输出</td></tr><tr><td align="left"><code>-P POLL_INTERVAL</code>, <code>--poll=POLL_INTERVAL</code></td><td>如果使用 -B 则设置轮询间隔(default=15)</td></tr><tr><td align="left"><code>--syntax-check</code></td><td>对 playbook 执行语法检查,但不要执行它</td></tr><tr><td align="left"><code>-t TREE</code>, <code>--tree=TREE</code></td><td>将输出记录到此目录</td></tr><tr><td align="left"><code>--vault-password-file=VAULT_PASSWORD_FILE</code></td><td>保险库密码文件</td></tr><tr><td align="left"><code>-v</code>, <code>--verbose</code></td><td>详细模式(-vvv 更多,-vvvv 启用连接调试)</td></tr><tr><td align="left"><code>--version</code></td><td>显示程序的版本号并退出</td></tr></tbody></table>
|
||
<!--rehype:className=left-align-->
|
||
<p>控制谁以及如何连接到主机,连接选项:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="left-align"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>-k</code>, <code>--ask-pass</code></td><td>询问连接密码</td></tr><tr><td align="left"><code>--private-key=PRIVATE_KEY_FILE</code>, <code>--key-file=PRIVATE_KEY_FILE</code></td><td>使用此文件来验证连接</td></tr><tr><td align="left"><code>-u REMOTE_USER</code>, <code>--user=REMOTE_USER</code></td><td>以此用户身份连接(default=None)</td></tr><tr><td align="left"><code>-c CONNECTION</code>, <code>--connection=CONNECTION</code></td><td>要使用的连接类型 (default=smart)</td></tr><tr><td align="left"><code>-T TIMEOUT</code>, <code>--timeout=TIMEOUT</code></td><td>以秒为单位覆盖连接超时 (default=10)</td></tr><tr><td align="left"><code>--ssh-common-args=SSH_COMMON_ARGS</code></td><td>指定要传递给 sftp/scp/ssh 的常用参数 (e.g. ProxyCommand)</td></tr><tr><td align="left"><code>--sftp-extra-args=SFTP_EXTRA_ARGS</code></td><td>指定仅传递给 <code>sftp</code> 的额外参数 (e.g. -f, -l)</td></tr><tr><td align="left"><code>--scp-extra-args=SCP_EXTRA_ARGS</code></td><td>指定仅传递给 <code>scp</code> 的额外参数 (e.g. -l)</td></tr><tr><td align="left"><code>--ssh-extra-args=SSH_EXTRA_ARGS</code></td><td>指定仅传递给 <code>ssh</code> 的额外参数 (e.g. -R)</td></tr></tbody></table>
|
||
<!--rehype:className=left-align-->
|
||
<p>控制您成为目标主机上的用户的方式和用户,特权升级选项:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="left-align"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><del><code>-s</code></del>, <del><code>--sudo</code></del></td><td>使用 sudo (nopasswd) 运行操作(已弃用,使用 become)</td></tr><tr><td align="left"><del><code>-U SUDO_USER</code></del>, <del><code>--sudo-user=SUDO_USER</code></del></td><td>所需的 sudo 用户(默认=root)(已弃用,使用 become)</td></tr><tr><td align="left"><del><code>-S</code></del>, <del><code>--su</code></del></td><td>使用 su 运行操作(已弃用,使用 become)</td></tr><tr><td align="left"><del><code>-R SU_USER</code></del>, <del><code>--su-user=SU_USER</code></del></td><td>以该用户身份使用 su 运行操作(默认 = root)(已弃用,使用 become)</td></tr><tr><td align="left"><code>-b</code>, <code>--become</code></td><td>使用 become 运行操作(不暗示密码提示)</td></tr><tr><td align="left"><code>--become-method=BECOME_METHOD</code></td><td>要使用的权限提升方法(默认=sudo),有效选择:[ <code>sudo</code> | <code>su</code> | <code>pbrun</code> | <code>pfexec</code> | <code>runas</code> | <code>doas</code> | <code>dzdo</code> ]</td></tr><tr><td align="left"><code>--become-user=BECOME_USER</code></td><td>以该用户身份运行操作(默认=root)</td></tr><tr><td align="left"><del><code>--ask-sudo-pass</code></del></td><td>询问 sudo 密码(已弃用,使用 become)</td></tr><tr><td align="left"><del><code>--ask-su-pass</code></del></td><td>询问 su 密码(已弃用,使用 become)</td></tr><tr><td align="left"><code>-K</code>, <code>--ask-become-pass</code></td><td>要求提权密码</td></tr></tbody></table>
|
||
<!--rehype:className=left-align-->
|
||
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="ansible-galaxy-工具"><a aria-hidden="true" tabindex="-1" href="#ansible-galaxy-工具"><span class="icon icon-link"></span></a>Ansible Galaxy 工具</h3><div class="wrap-body">
|
||
<pre class="wrap-text"><code class="language-bash code-highlight"><span class="code-line">$ ansible-galaxy <span class="token punctuation">[</span>delete<span class="token operator">|</span><span class="token function">import</span><span class="token operator">|</span>info<span class="token operator">|</span>init<span class="token operator">|</span><span class="token function">install</span><span class="token operator">|</span>list<span class="token operator">|</span>login<span class="token operator">|</span>remove<span class="token operator">|</span>search<span class="token operator">|</span>setup<span class="token punctuation">]</span> <span class="token punctuation">[</span>--help<span class="token punctuation">]</span> <span class="token punctuation">[</span>options<span class="token punctuation">]</span> <span class="token punctuation">..</span>.
|
||
</span></code></pre>
|
||
<!--rehype:className=wrap-text-->
|
||
<hr>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>-h</code>, <code>--help</code></td><td>显示此帮助信息并退出</td></tr><tr><td align="left"><code>-v</code>, <code>--verbose</code></td><td>详细模式(-vvv 更多,-vvvv 启用连接调试)</td></tr><tr><td align="left"><code>--version</code></td><td>显示程序的版本号并退出</td></tr></tbody></table>
|
||
<!--rehype:className=style-list-->
|
||
<hr>
|
||
<pre class="wrap-text"><code class="language-bash code-highlight"><span class="code-line">$ ansible-galaxy search <span class="token parameter variable">--author</span> <span class="token operator"><</span>AUTHOR<span class="token operator">></span>
|
||
</span><span class="code-line">$ ansible-galaxy search <span class="token parameter variable">--platforms</span> <span class="token operator"><</span>PLATFORM<span class="token operator">></span>
|
||
</span><span class="code-line">$ ansible-galaxy search --galaxy-tags <span class="token operator"><</span>TAG<span class="token operator">></span>
|
||
</span><span class="code-line">$ ansible-galaxy info <span class="token operator"><</span>ROLE<span class="token operator">></span>
|
||
</span><span class="code-line">$ ansible-galaxy <span class="token function">install</span> <span class="token operator"><</span>ROLE<span class="token operator">></span> <span class="token parameter variable">-p</span> <span class="token operator"><</span>ROLE_DIRECTORY<span class="token operator">></span>
|
||
</span><span class="code-line">$ ansible-galaxy <span class="token function">install</span> <span class="token parameter variable">-r</span> <span class="token operator"><</span>ROLE<span class="token operator"><span class="token file-descriptor important">1</span>></span> <span class="token operator"><</span>ROLE<span class="token operator"><span class="token file-descriptor important">2</span>></span> <span class="token operator"><</span>ROLE<span class="token operator"><span class="token file-descriptor important">3</span>></span> <span class="token punctuation">..</span>.
|
||
</span><span class="code-line">$ ansible-galaxy list
|
||
</span><span class="code-line">$ ansible-galaxy remove <span class="token operator"><</span>ROLE<span class="token operator">></span>
|
||
</span><span class="code-line">$ ansible-galaxy init <span class="token operator"><</span>ROLE<span class="token operator">></span>
|
||
</span><span class="code-line">$ ansible-galaxy init <span class="token parameter variable">--offline</span> <span class="token operator"><</span>ROLE<span class="token operator">></span>
|
||
</span></code></pre>
|
||
<!--rehype:className=wrap-text-->
|
||
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="ansible-doc"><a aria-hidden="true" tabindex="-1" href="#ansible-doc"><span class="icon icon-link"></span></a>ansible-doc</h3><div class="wrap-body">
|
||
<p>在本地访问文档</p>
|
||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ ansible-doc
|
||
</span><span class="code-line">$ ansible-doc <span class="token punctuation">[</span>options<span class="token punctuation">]</span> <span class="token punctuation">[</span>module<span class="token punctuation">..</span>.<span class="token punctuation">]</span>
|
||
</span></code></pre>
|
||
<hr>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>-h</code>, <code>--help</code></td><td>显示此帮助信息并退出</td></tr><tr><td align="left"><code>-l</code>, <code>--list</code></td><td>列出可用模块</td></tr><tr><td align="left"><code>-M MODULE_PATH</code>, <code>--module-path=MODULE_PATH</code></td><td>指定模块库的路径 (default=None)</td></tr><tr><td align="left"><code>-s</code>, <code>--snippet</code></td><td>显示指定模块的剧本片段</td></tr><tr><td align="left"><code>-v</code>, <code>--verbose</code></td><td>详细模式(-vvv 更多,-vvvv 启用连接调试)</td></tr><tr><td align="left"><code>--version</code></td><td>显示程序的版本号并退出</td></tr></tbody></table>
|
||
<!--rehype:className=style-list-->
|
||
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="ansible-vault"><a aria-hidden="true" tabindex="-1" href="#ansible-vault"><span class="icon icon-link"></span></a>ansible-vault</h3><div class="wrap-body">
|
||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ ansible-vault
|
||
</span><span class="code-line">$ ansible-vault <span class="token punctuation">[</span>create<span class="token operator">|</span>decrypt<span class="token operator">|</span>edit<span class="token operator">|</span>encrypt<span class="token operator">|</span>rekey<span class="token operator">|</span>view<span class="token punctuation">]</span> <span class="token punctuation">[</span>--help<span class="token punctuation">]</span> <span class="token punctuation">[</span>options<span class="token punctuation">]</span> vaultfile.yml
|
||
</span></code></pre>
|
||
<hr>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>--ask-vault-pass</code></td><td>询问保险库密码</td></tr><tr><td align="left"><code>-h</code>, <code>--help</code></td><td>显示此帮助信息并退出</td></tr><tr><td align="left"><code>--new-vault-password-file=NEW_VAULT_PASSWORD_FILE</code></td><td>用于重新生成密钥的新保管库密码文件</td></tr><tr><td align="left"><code>--output=OUTPUT_FILE</code></td><td>用于加密或解密的输出文件名; 使用 - 用于标准输出</td></tr><tr><td align="left"><code>--vault-password-file=VAULT_PASSWORD_FILE</code></td><td>保险库密码文件</td></tr><tr><td align="left"><code>-v</code>, <code>--verbose</code></td><td>详细模式(-vvv 更多,-vvvv 启用连接调试)</td></tr><tr><td align="left"><code>--version</code></td><td>显示程序的版本号并退出</td></tr></tbody></table>
|
||
<!--rehype:className=style-list-->
|
||
</div></div></div><div class="wrap h3body-not-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="ansible-playbook"><a aria-hidden="true" tabindex="-1" href="#ansible-playbook"><span class="icon icon-link"></span></a>ansible-playbook</h3><div class="wrap-body">
|
||
<!--rehype:wrap-class=row-span-2-->
|
||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ ansible-playbook
|
||
</span><span class="code-line">$ ansible-playbook playbook.yml
|
||
</span></code></pre>
|
||
<hr>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>--ask-vault-pass</code></td><td>询问保险库密码</td></tr><tr><td align="left"><code>-C</code>, <code>--check</code></td><td>不要做任何改变;相反,尝试预测可能发生的一些变化</td></tr><tr><td align="left"><code>-D</code>, <code>--diff</code></td><td>更改(小)文件和模板时,显示这些文件中的差异;与 <code>--check</code> 配合使用效果很好</td></tr><tr><td align="left"><code>-e EXTRA_VARS</code>, <code>--extra-vars=EXTRA_VARS</code></td><td>将附加变量设置为 key=value 或 YAML/JSON</td></tr><tr><td align="left"><code>--flush-cache</code></td><td>清除事实缓存</td></tr><tr><td align="left"><code>--force-handlers</code></td><td>即使任务失败也运行处理程序</td></tr><tr><td align="left"><code>-f FORKS</code>, <code>--forks=FORKS</code></td><td>指定要使用的并行进程数(默认值=5)</td></tr><tr><td align="left"><code>-h</code>, <code>--help</code></td><td>显示此帮助信息并退出</td></tr><tr><td align="left"><code>-i INVENTORY</code>, <code>--inventory-file=INVENTORY</code></td><td>指定清单主机路径(默认=/etc/ansible/hosts)或逗号分隔的主机列表</td></tr><tr><td align="left"><code>-l SUBSET</code>, <code>--limit=SUBSET</code></td><td>进一步将选定主机限制为其他模式</td></tr><tr><td align="left"><code>--list-hosts</code></td><td>输出匹配主机列表;不执行任何其他操作</td></tr><tr><td align="left"><code>--list-tags</code></td><td>列出所有可用的标签</td></tr><tr><td align="left"><code>--list-tasks</code></td><td>列出所有将要执行的任务</td></tr><tr><td align="left"><code>-M MODULE_PATH</code>, <code>--module-path=MODULE_PATH</code></td><td>指定模块库的路径(默认=无)</td></tr><tr><td align="left"><code>--new-vault-password-file=NEW_VAULT_PASSWORD_FILE</code></td><td>用于重新生成密钥的新保管库密码文件</td></tr><tr><td align="left"><code>--output=OUTPUT_FILE</code></td><td>用于加密或解密的输出文件名;使用 - 用于标准输出</td></tr><tr><td align="left"><code>--skip-tags=SKIP_TAGS</code></td><td>只运行标签与这些值不匹配的播放和任务</td></tr><tr><td align="left"><code>--start-at-task=START_AT_TASK</code></td><td>在匹配此名称的任务处启动剧本</td></tr><tr><td align="left"><code>--step</code></td><td>一步一步:在运行前确认每个任务</td></tr><tr><td align="left"><code>--syntax-check</code></td><td>对 playbook 执行语法检查,但不要执行它</td></tr><tr><td align="left"><code>-t TAGS</code>, <code>--tags=TAGS</code></td><td>只运行带有这些值标记的播放和任务</td></tr><tr><td align="left"><code>--vault-password-file=VAULT_PASSWORD_FILE</code></td><td>保险库密码文件</td></tr><tr><td align="left"><code>-v</code>, <code>--verbose</code></td><td>详细模式(-vvv 更多,-vvvv 启用连接调试)</td></tr><tr><td align="left"><code>--version</code></td><td>显示程序的版本号并退出</td></tr></tbody></table>
|
||
<!--rehype:className=style-list-->
|
||
<p>连接选项:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>-k</code>, <code>--ask-pass</code></td><td>询问连接密码</td></tr><tr><td align="left"><code>--private-key=PRIVATE_KEY_FILE</code>, <code>--key-file=PRIVATE_KEY_FILE</code></td><td>使用此文件来验证连接</td></tr><tr><td align="left"><code>-u REMOTE_USER</code>, <code>--user=REMOTE_USER</code></td><td>以此用户身份连接(默认=None)</td></tr><tr><td align="left"><code>-c CONNECTION</code>, <code>--connection=CONNECTION</code></td><td>要使用的连接类型(默认=smart)</td></tr><tr><td align="left"><code>-T TIMEOUT</code>, <code>--timeout=TIMEOUT</code></td><td>以秒为单位覆盖连接超时(默认值 = 10)</td></tr><tr><td align="left"><code>--ssh-common-args=SSH_COMMON_ARGS</code></td><td>指定要传递给 sftp/scp/ssh 的常用参数(例如 ProxyCommand)</td></tr><tr><td align="left"><code>--sftp-extra-args=SFTP_EXTRA_ARGS</code></td><td>指定仅传递给 sftp 的额外参数(例如 -f、-l)</td></tr><tr><td align="left"><code>--scp-extra-args=SCP_EXTRA_ARGS</code></td><td>指定仅传递给 scp 的额外参数(例如 -l)</td></tr><tr><td align="left"><code>--ssh-extra-args=SSH_EXTRA_ARGS</code></td><td>指定仅传递给 ssh 的额外参数(例如 -R)</td></tr></tbody></table>
|
||
<!--rehype:className=style-list-->
|
||
<p>特权升级选项:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>-s</code>, <code>--sudo</code></td><td>使用 sudo (nopasswd) 运行操作(已弃用,使用 become)</td></tr><tr><td align="left"><code>-U SUDO_USER</code>, <code>--sudo-user=SUDO_USER</code></td><td>所需的 sudo 用户(默认=root)(已弃用,使用become)</td></tr><tr><td align="left"><code>-S</code>, <code>--su</code></td><td>使用 su 运行操作(已弃用,使用 become)</td></tr><tr><td align="left"><code>-R SU_USER</code>, <code>--su-user=SU_USER</code></td><td>以该用户身份使用 su 运行操作(默认 = root)(已弃用,使用become)</td></tr><tr><td align="left"><code>-b</code>, <code>--become</code></td><td>使用 become 运行操作(不暗示密码提示)</td></tr><tr><td align="left"><code>--become-method=BECOME_METHOD</code></td><td>要使用的权限提升方法(默认=sudo),有效选择:[ sudo | su | pbrun | pfexec | runas | doas | dzdo ]</td></tr><tr><td align="left"><code>--become-user=BECOME_USER</code></td><td>以该用户身份运行操作(默认=root)</td></tr><tr><td align="left"><code>--ask-sudo-pass</code></td><td>询问 sudo 密码(已弃用,使用 become)</td></tr><tr><td align="left"><code>--ask-su-pass</code></td><td>询问 su 密码(已弃用,使用 become)</td></tr><tr><td align="left"><code>-K</code>, <code>--ask-become-pass</code></td><td>要求提权密码</td></tr></tbody></table>
|
||
<!--rehype:className=style-list-->
|
||
</div></div></div><div class="wrap h3body-not-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="ansible-pull"><a aria-hidden="true" tabindex="-1" href="#ansible-pull"><span class="icon icon-link"></span></a>ansible-pull</h3><div class="wrap-body">
|
||
<!--rehype:wrap-class=row-span-2-->
|
||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ ansible-pull
|
||
</span><span class="code-line">$ ansible-pull <span class="token parameter variable">-U</span> <span class="token operator"><</span>repository<span class="token operator">></span> <span class="token punctuation">[</span>options<span class="token punctuation">]</span>
|
||
</span></code></pre>
|
||
<hr>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>--accept-host-key</code></td><td>如果尚未添加,则添加 repo url 的主机密钥</td></tr><tr><td align="left"><code>--ask-vault-pass</code></td><td>询问保险库密码</td></tr><tr><td align="left"><code>-C CHECKOUT</code>, <code>--checkout=CHECKOUT</code></td><td>分支/标签/提交结帐。默认为存储库模块的行为。</td></tr><tr><td align="left"><code>-d DEST</code>, <code>--directory=DEST</code></td><td>签出存储库的目录</td></tr><tr><td align="left"><code>-e EXTRA_VARS</code>, <code>--extra-vars=EXTRA_VARS</code></td><td>将附加变量设置为 key=value 或 YAML/JSON</td></tr><tr><td align="left"><code>-f</code>, <code>--force</code></td><td>即使无法更新存储库也运行 playbook</td></tr><tr><td align="left"><code>--full</code></td><td>做一个完整的克隆,而不是一个浅的</td></tr><tr><td align="left"><code>-h</code>, <code>--help</code></td><td>显示此帮助信息并退出</td></tr><tr><td align="left"><code>-i INVENTORY</code>, <code>--inventory-file=INVENTORY</code></td><td>指定清单主机路径(默认=/etc/ansible/hosts)或逗号分隔的主机列表</td></tr><tr><td align="left"><code>-l SUBSET</code>, <code>--limit=SUBSET</code></td><td>进一步将选定主机限制为其他模式</td></tr><tr><td align="left"><code>--list-hosts</code></td><td>输出匹配主机列表;不执行任何其他操作</td></tr><tr><td align="left"><code>-m MODULE_NAME</code>, <code>--module-name=MODULE_NAME</code></td><td>存储库模块名称,ansible 将使用它来签出 repo。默认是 git</td></tr><tr><td align="left"><code>-M MODULE_PATH</code>, <code>--module-path=MODULE_PATH</code></td><td>指定模块库的路径(默认=无)</td></tr><tr><td align="left"><code>--new-vault-password-file=NEW_VAULT_PASSWORD_FILE</code></td><td>用于重新生成密钥的新保管库密码文件</td></tr><tr><td align="left"><code>-o</code>, <code>--only-if-changed</code></td><td>仅在存储库已更新时才运行 playbook</td></tr><tr><td align="left"><code>--output=OUTPUT_FILE</code></td><td>用于加密或解密的输出文件名;使用 - 用于标准输出</td></tr><tr><td align="left"><code>--purge</code></td><td>剧本运行后清除结帐</td></tr><tr><td align="left"><code>--skip-tags=SKIP_TAGS</code></td><td>只运行标签与这些值不匹配的播放和任务</td></tr><tr><td align="left"><code>-s SLEEP</code>, <code>--sleep=SLEEP</code></td><td>在开始之前休眠随机间隔(在 0 到 n 秒之间)。这是分散 git 请求的有用方法</td></tr><tr><td align="left"><code>-t TAGS</code>, <code>--tags=TAGS</code></td><td>只运行带有这些值标记的播放和任务</td></tr><tr><td align="left"><code>-U URL</code>, <code>--url=URL</code></td><td>剧本存储库的 URL</td></tr><tr><td align="left"><code>--vault-password-file=VAULT_PASSWORD_FILE</code></td><td>保险库密码文件</td></tr><tr><td align="left"><code>-v</code>, <code>--verbose</code></td><td>详细模式(-vvv 更多,-vvvv 启用连接调试)</td></tr><tr><td align="left"><code>--verify-commit</code></td><td>验证签出提交的 GPG 签名,如果失败则中止运行 playbook。这就需要对应的VCS模块来支持这样的操作</td></tr><tr><td align="left"><code>--version</code></td><td>显示程序的版本号并退出</td></tr></tbody></table>
|
||
<!--rehype:className=style-list-->
|
||
<p>连接选项:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>-k</code>, <code>--ask-pass</code></td><td>询问连接密码</td></tr><tr><td align="left"><code>--private-key=PRIVATE_KEY_FILE</code>, <code>--key-file=PRIVATE_KEY_FILE</code></td><td>使用此文件来验证连接</td></tr><tr><td align="left"><code>-u REMOTE_USER</code>, <code>--user=REMOTE_USER</code></td><td>以此用户身份连接(默认=无)</td></tr><tr><td align="left"><code>-c CONNECTION</code>, <code>--connection=CONNECTION</code></td><td>要使用的连接类型(默认=智能)</td></tr><tr><td align="left"><code>-T TIMEOUT</code>, <code>--timeout=TIMEOUT</code></td><td>以秒为单位覆盖连接超时(默认值 = 10)</td></tr><tr><td align="left"><code>--ssh-common-args=SSH_COMMON_ARGS</code></td><td>指定要传递给 sftp/scp/ssh 的常用参数(例如 ProxyCommand)</td></tr><tr><td align="left"><code>--sftp-extra-args=SFTP_EXTRA_ARGS</code></td><td>指定仅传递给 sftp 的额外参数(例如 -f、-l)</td></tr><tr><td align="left"><code>--scp-extra-args=SCP_EXTRA_ARGS</code></td><td>指定仅传递给 scp 的额外参数(例如 -l)</td></tr><tr><td align="left"><code>--ssh-extra-args=SSH_EXTRA_ARGS</code></td><td>指定仅传递给 ssh 的额外参数(例如 -R)</td></tr></tbody></table>
|
||
<!--rehype:className=style-list-->
|
||
<p>特权升级选项:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>--ask-sudo-pass</code></td><td>询问 sudo 密码(已弃用,使用become)</td></tr><tr><td align="left"><code>--ask-su-pass</code></td><td>询问 su 密码(已弃用,使用become)</td></tr><tr><td align="left"><code>-K</code>, <code>--ask-become-pass</code></td><td>要求提权密码</td></tr></tbody></table>
|
||
<!--rehype:className=style-list-->
|
||
<!-- ### ansible-playbook -->
|
||
<!-- todo -->
|
||
</div></div></div><div class="wrap h3body-not-exist col-span-3"><div class="wrap-header h3wrap"><h3 id="ansible常用模块"><a aria-hidden="true" tabindex="-1" href="#ansible常用模块"><span class="icon icon-link"></span></a>ansible常用模块</h3><div class="wrap-body">
|
||
<!--rehype:wrap-class=col-span-3 -->
|
||
<p><code>Ansible</code> 的模块已经高达 <code>3000+</code> 之多。但是个人在日常工作中,比较常见的大约 <code>20</code> 多个</p>
|
||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ ansible-doc <span class="token parameter variable">--list</span> <span class="token comment">#查询所有模块</span>
|
||
</span><span class="code-line">$ ansible <span class="token operator"><</span>host-pattern<span class="token operator">></span> <span class="token punctuation">[</span>options<span class="token punctuation">]</span> <span class="token comment"># 标准使用方式</span>
|
||
</span></code></pre>
|
||
<hr>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table class="left-align"><thead><tr><th>:-</th><th>-</th><th>-</th></tr></thead><tbody><tr><td>ping</td><td>检查指定节点机器是否还能连通</td><td><code>ansible all -m ping</code></td></tr><tr><td>command</td><td>用于在各受控端节点运行指定的命令</td><td><code>ansible all -m command -a 'hostname'</code></td></tr><tr><td>shell</td><td>shell模块可以特殊字符,而command是不支持</td><td><code>ansible all -m shell -a 'hostname && date'</code></td></tr><tr><td>hostname</td><td>修改远程受控节点的主机名的模块</td><td><code>ansible -i /opt/hosts xx -m hostname -a 'name=ansible-client-199'</code></td></tr><tr><td>copy</td><td>在远程主机执行复制操作文件</td><td><code>ansible all -m copy -a 'src=/etc/hosts dest=/opt/hosts backup=yes'</code></td></tr><tr><td>fetch</td><td>从远程主机获取文件到管理节点,但是不支持目录操作</td><td><code>ansible all -m fetch -a "src=/etc/yum.repos.d/epel.repo dest=/usr/local/src"</code></td></tr><tr><td>script</td><td>管理端一个脚本,然后在远程服务器上执行</td><td><code>ansible all -m script -a '/root/time.sh'</code></td></tr><tr><td>file</td><td>主要用于远程主机上的文件和目录操作</td><td><code>ansible all -m file -a "path=/root/rsync.password mode=600 state=touch"</code></td></tr><tr><td>cron</td><td>管理执行任务计划模块(增删改查)</td><td><code>ansible all -m cron -a "name='test a job' user=root job='/bin/sh /server/scripts/test.sh' minute=* hour=* day=* month=* weekday=*"</code></td></tr><tr><td>yum</td><td>RedHat和CentOS的软件包安装和管理</td><td>安装<br><code>ansible all -m yum -a "name=httpd state=present"</code><br><code>ansible all -m yum -a "name=httpd state=installed"</code><br>卸载<br><code>ansible all -m yum -a "name=httpd state=absent"</code><br><code>ansible all -m yum -a "name=httpd state=removed"</code></td></tr><tr><td><code>service</code>和<code>systemd</code></td><td>用于管理远程主机的服务</td><td><code>ansible all -m systemd -a "name=httpd state=started enabled=yes"</code><br><code>ansible all -m systemd -a "name=httpd state=restarted"</code></td></tr><tr><td>user</td><td>useradd, userdel, usermod</td><td><code>ansible all -m user -a 'name=haha remove=no state=absent'</code></td></tr><tr><td>group</td><td>groupadd, groupdel, groupmod</td><td><code>ansible all -m group -a 'name=mygroup state=absent'</code></td></tr><tr><td>setup</td><td>可收集远程主机的facts变量的信息</td><td><code>ansible all -m setup -a 'filter=ansible_default_ipv4'</code></td></tr><tr><td>authorized_key</td><td>为特定的用户账号添加或删除 SSH authorized keys</td><td><code>ansible all -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub')}}' path=/root/.ssh/authorized_keys manage_dir=no"</code></td></tr><tr><td>replace</td><td>和 sed 命令比较类似,用于正则匹配和替换</td><td><code>ansible all -m replace -a "path=/etc/fstab regexp=^(UUID.*) replace='#\1'"</code></td></tr><tr><td>lineinfile</td><td>正则匹配,更改某个关键参数值</td><td><code>ansible all -m lineinfile -a "path=/etc/selinux/config regexp='^SELINUX=' line='SELINUX=disabled'"</code></td></tr></tbody></table>
|
||
<!--rehype:className=left-align-->
|
||
</div></div></div></div></div><div class="wrap h2body-not-exist"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||
<ul>
|
||
<li><a href="https://docs.ansible.com/ansible/latest/getting_started/index.html">Getting started with Ansible</a></li>
|
||
<li><a href="https://docs.ansible.com/ansible/latest/user_guide/intro_adhoc.html">Introduction to ad hoc commands</a></li>
|
||
<li><a href="https://github.com/luckylittle/ansible-cheatsheet/blob/master/ansible-cheatsheet.txt">Ansible cheatsheet</a></li>
|
||
<li><a href="https://spacelift.io/blog/ansible-tutorial">Ansible Tutorial for Beginners: Ultimate Playbook & Examples</a></li>
|
||
</ul>
|
||
</div></div><div class="h2wrap-body"></div></div></div><script src="https://giscus.app/client.js" data-repo="jaywcjlove/reference" data-repo-id="R_kgDOID2-Mw" data-category="Q&A" data-category-id="DIC_kwDOID2-M84CS5wo" data-mapping="pathname" data-strict="0" data-reactions-enabled="1" data-emit-metadata="0" data-input-position="bottom" data-theme="dark" data-lang="zh-CN" crossorigin="anonymous" async></script><div class="giscus"></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 <a href="https://wangchujiang.com/#/app" target="_blank">Kenny Wang</a>.</footer></footer><script src="../data.js?v=1.8.3" defer></script><script src="../js/fuse.min.js?v=1.8.3" defer></script><script src="../js/main.js?v=1.8.3" defer></script><div id="mysearch"><div class="mysearch-box"><div class="mysearch-input"><div><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
|
||
<path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
|
||
</svg><input id="mysearch-input" type="search" placeholder="搜索" autocomplete="off"><div class="mysearch-clear"></div></div><button id="mysearch-close" type="button">搜索</button></div><div class="mysearch-result"><div id="mysearch-menu"></div><div id="mysearch-content"></div></div></div></div></body>
|
||
</html>
|