Ansible 教程:簡單 Ansible 命令介紹
在我們之前的 Ansible 教程中,我們討論了 Ansible 的安裝和配置。在這個 Ansible 教程中,我們將學習一些基本的 Ansible 命令的例子,我們將用它來管理基礎設施。所以讓我們先看看一個完整的 Ansible 命令的語法:
$ ansible <group> -m <module> -a <arguments>
在這裡,我們可以用單個主機或用 <group>
代替一組主機,<arguments>
是可選的參數。現在我們來看看一些 Ansible 的基本命令。
檢查主機的連通性
我們在之前的教程中也使用了這個命令。檢查主機連接的命令是:
$ ansible <group> -m ping
重啟主機
$ ansible <group> -a "/sbin/reboot"
檢查主機的系統信息
Ansible 收集所有連接到它主機的信息。要顯示主機的信息,請運行:
$ ansible <group> -m setup | less
其次,通過傳遞參數來從收集的信息中檢查特定的信息:
$ ansible <group> -m setup -a "filter=ansible_distribution"
傳輸文件
對於傳輸文件,我們使用模塊 copy
,完整的命令是這樣的:
$ ansible <group> -m copy -a "src=/home/dan dest=/tmp/home"
管理用戶
要管理已連接主機上的用戶,我們使用一個名為 user
的模塊,並如下使用它。
創建新用戶
$ ansible <group> -m user -a "name=testuser password=<encrypted password>"
刪除用戶
$ ansible <group> -m user -a "name=testuser state=absent"
注意: 要創建加密密碼,請使用 "mkpasswd -method=sha-512"
。
更改許可權和所有者
要改變已連接主機文件的所有者,我們使用名為 file
的模塊,使用如下。
更改文件許可權
$ ansible <group> -m file -a "dest=/home/dan/file1.txt mode=777"
更改文件的所有者
$ ansible <group> -m file -a "dest=/home/dan/file1.txt mode=777 owner=dan group=dan"
管理軟體包
我們可以通過使用 yum
和 apt
模塊來管理所有已連接主機的軟體包,完整的命令如下:
檢查包是否已安裝並更新
$ ansible <group> -m yum -a "name=ntp state=latest"
檢查包是否已安裝,但不更新
$ ansible <group> -m yum -a "name=ntp state=present"
檢查包是否是特定的版本
$ ansible <group> -m yum -a "name= ntp-1.8 state=present"
檢查包是否沒有安裝
$ ansible <group> -m yum -a "name=ntp state=absent"
管理服務
要管理服務,我們使用模塊 service
,完整命令如下:
啟動服務
$ansible <group> -m service -a "name=httpd state=started"
停止服務
$ ansible <group> -m service -a "name=httpd state=stopped"
重啟服務
$ ansible <group> -m service -a "name=httpd state=restarted"
這樣我們簡單的、單行 Ansible 命令的教程就完成了。此外,在未來的教程中,我們將學習創建 playbook,來幫助我們更輕鬆高效地管理主機。
via: http://linuxtechlab.com/ansible-tutorial-simple-commands/
作者:SHUSAIN 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
推薦閱讀: