紅聯Linux門戶
Linux幫助

Ansible 教程之:Ansible命令介紹

發布時間:2018-04-08 21:20:04來源:Linux社區作者:geekpi
在我們之前的 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,來幫助我們更輕松高效地管理主機。
601268股票行情中心