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"

管理軟體包

我們可以通過使用 yumapt 模塊來管理所有已連接主機的軟體包,完整的命令如下:

檢查包是否已安裝並更新

$ 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: linuxtechlab.com/ansibl

作者:SHUSAIN 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

推薦閱讀:

TAG:系統管理 | Linux運維 |