作者 | Shusain
譯者 | geekpi ? ? 共計翻譯:689 篇 貢獻時間:1626 天
在我們之前的 Ansible 教程中,我們討論了 Ansible 的安裝和配置[1]。在這個 Ansible 教程中,我們將學習一些基本的 Ansible 命令的例子,我們將用它來管理基礎設施。所以讓我們先看看一個完整的 Ansible 命令的語法:
$ ansible <group> -m <module> -a <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=
"
刪除使用者
$ 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[3] 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出