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 執行遠端主機...