Ansible模組及作用

2021-10-01 19:38:05 字數 4131 閱讀 6765

ansible模組,以及各個模組的作用!ping

* 例子:ansible webserver -m ping

yum

* yum模組用來在centos系統上使用yum命令安裝軟體包

* 選項:

* name: 指定安裝包的名字

* state:latest 安裝最新版 present 預設安裝 installed 安裝 absent 解除安裝

removed 解除安裝

* 例子:ansible webservers -m yum -a 『name=httpd state=latest』
command

* command模組用來執行系統命令,但是不支援shell下的特殊符號 如:|  &&等

* 例子:ansible webservers -m command -a 『echo 李想』

shell

* shell模組和command模組使用方法基本一致,但是他可以支援shell的特殊符號,如: |  && 等

* 例子:ansible webservers -m shell -a 「cd /opt/ && touch lixiang」

service

* service模組用來管理centos上的服務的啟動、關閉、重啟和過載

* 選項:

* name: 服務名字

* state: started(啟動) stopped(停止) restarted(重啟) reloaded(過載)

* enabled: 預設是no,將服務設定為開機自啟

file

* file模組用來建立檔案、目錄、鏈結檔案

* 選項:

group:定義檔案/目錄的屬組mode:定義檔案/目錄的許可權owner:定義檔案/目錄的屬主path:必選項,定義檔案/目錄的路徑recurse:遞迴的設定檔案的屬性,只對目錄有效src:要被鏈結的原始檔的路徑,只應用於state=link的情況dest:被鏈結到的路徑,只應用於state=link的情況state:

* directory:如果目錄不存在,建立目錄

* file:即使檔案不存在,也不會被建立

* touch:如果檔案不存在,則會建立乙個新的檔案,如果檔案或目錄已存在,則更新其最後修改時間

user

* user模組用來建立使用者

* 選項:

* home: 指定建立的家目錄

* groups:指定使用者組

* uid:指定uid

* password:設定密碼,密碼必須是密文

openssl passwd

* name:建立的使用者名字

* createhome:是否建立家目錄(yes/no)

* state: 是建立還是刪除。(present,absent),預設是建立

* shell: 指定使用者登入的shell環境

* remove:刪除使用者家目錄,預設為no

group

* group用來建立使用者組

* 選項

* gid:指定用的gid。

* name:指定使用者名稱。

* state:是建立還是刪除。(present,absent)

copy

* copy模組用來複製檔案至目標主機

* 選項:

* src:檔案在管理主機的據對路徑或者相對路徑

* dest:將檔案複製到目標主機的路徑

* backup:是否將目標主機的同名檔案備份,預設為no

* mode: 授權

* directory_mode:遞迴授權

* 例子:

ansible webservers -m copy -a 『src=/root/nginx.sh dest=/opt/』unarchive

* unarchive模組用來解壓檔案

* 選項:

* copy:在解壓檔案之前,是否先將檔案複製到遠端主機,預設為yes。若為no,則要求目標主機上壓縮包必須存在

* creates:指定乙個檔名,當該檔案存在時,則解壓指令不執行

* dest:遠端主機上的乙個路徑,即檔案解壓的絕對路徑。

* group:解壓後的目錄或檔案的屬組

* mode:解壓後檔案的許可權

* src:如果copy為yes,則需要指定壓縮檔案的源路徑

* owner:解壓後檔案或目錄的屬主

* 例子:

ansible webservers -m unarchive -a 『src=/root/nginx.tar.gz dest=/opt/ group=www owner=www mode=777 』get_url

* 選項:

* 例子:

ansible webservers -m get_url -a 『url= dest=/root/』synchronize

* 使用rsync同步檔案,將主控方目錄推送到指定節點的目錄下,使用此模組需要先安裝rsync

* delete: 刪除不存在的檔案,delete=yes 使兩邊的內容一樣(即以推送方為主),預設no

* src: 要同步到目的地的源主機上的路徑; 路徑可以是絕對的或相對的。如果路徑使用」/」來結尾,則只複製目錄裡的內容,如果沒有使用」/」來結尾,則包含目錄在內的整個內容全部複製

* dest:目的地主機上將與源同步的路徑; 路徑可以是絕對的或相對的。

* dest_port:預設目錄主機上的埠 ,預設是22,走的ssh協議。

* mode: push或pull,預設push,一般用於從本機向遠端主機上傳檔案,pull 模式用於從遠端主機上取檔案

* rsync_opts:通過傳遞陣列來指定其他rsync選項。

fetch

* fetch模組它用於從遠端機器獲取檔案,並將其本地儲存在由主機名組織的檔案樹中。

* 選項:

* src:遠端系統上要獲取的檔案。 這必須是乙個檔案,而不是乙個目錄。 後續版本可能會支援遞迴提取

* dest:儲存檔案的目錄

setup

* setup 模組用於收集遠端主機的一些基本資訊。

* 選項:

* filter引數:用於進行條件過濾。如果設定,僅返回匹配過濾條件的資訊。

* ansible_all_ipv4_addresses:僅顯示ipv4的資訊

* ansible_devices:僅顯示磁碟裝置資訊

* ansible_distribution:顯示是什麼系統,例:centos,suse等

* ansible_distribution_major_version:顯示是系統主版本

* ansible_distribution_version:僅顯示系統版本

* ansible_machine:顯示系統型別,例:32位,還是64位

* ansible_eth0:僅顯示eth0的資訊

* ansible_hostname:僅顯示主機名

* ansible_kernel:僅顯示核心版本

* ansible_memtotal_mb:顯示系統總記憶體

* ansible_memfree_mb:顯示可用系統記憶體

* ansible_memory_mb:詳細顯示記憶體情況

* ansible_swaptotal_mb:顯示總的swap記憶體

* ansible_swapfree_mb:顯示swap記憶體的可用記憶體

* ansible_mounts:顯示系統磁碟掛載情況

* ansible_processor:顯示cpu個數(具體顯示每個cpu的型號)

* ansible_processor_vcpus:顯示cpu個數(只顯示總的個數)

* ansible_python_version:顯示python版本

* 例子:

獲取目標主機的ipv4位址ansible webservers -m setup -a 『filter=ansible_all_ipv4_addresses』

ansible常用模組及playbook

ansible常用模組 ansible模組也就是ansible命令 和linux命令是一樣的 1,ping 檢測伺服器網路是否通ansible webserver m ping 2,shell ansible的shell是直接使用linux命令ansible webserver m shell a ...

Ansible常用模組及API

安裝epel作為安裝ansible的yum源 centos6.4 安裝ansible yum install ansible y 配置檔案 路徑 etc ansible hosts 配置說明 webservers為組名,下面的ip或網域名稱則是屬於該組的主機。webservers 192.168.1...

Python之 Ansible常用模組及API

1 功能 模組包括command script shell,都可以實現遠端shell命令執行。command 作為ansible的預設模組,可以執行遠端許可權範圍所有的shell命令 script 在遠端主機執行主控端儲存的shell指令碼檔案,相當於scp shell組合 shell 執行遠端主機...