Ansible常用模塊整理

今天所學的ansible模塊,以及各個模塊的作用!

ping
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:即使文件不存在,也不會被創建 
link:創建軟鏈接 
hard:創建硬鏈接 
touch:如果文件不存在,則會創建一個新的文件,如果文件或目錄已存在,則更新其最後修改時間 
absent:刪除目錄、文件或者取消鏈接文件
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 ower=www mode=777 ’
get_url
get_url模塊,該模塊主要用於從http、ftp、https服務器上下載文件(類似於wget
選項:
url: 指定要下載的文件的URL地址
例子:
ansible webservers -m get_url -a ‘url= http://nginx.org/download/nginx-1.15.7.tar.gz  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_lvm:顯示lvm相關信息
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'
發佈了12 篇原創文章 · 獲贊 8 · 訪問量 943
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章