ansible常用參數


-m:要執行的模塊,默認為command
-a:指定模塊的參數
-u:ssh連接的用戶名,默認用root,ansible.cfg中可以配置
-b,--become:變成那個用戶身份,不提示密碼
-k:提示輸入ssh登錄密碼,當使用密碼驗證的時候用
-s:sudo運行
-U:sudo到哪個用戶,默認為root
-K:提示輸入sudo密碼,當不是NOPASSWD模式時使用
-C:只是測試一下會改變什么內容,不會真正去執行
-c:連接類型(default=smart)
-f:fork多少進程並發處理,默認為5個
-i:指定hosts文件路徑,默認default=/etc/ansible/hosts
-I:指定pattern,對已匹配的主機中再過濾一次
-list-host:只打印有哪些主機會執行這個命令,不會實際執行
-M:要執行的模塊路徑,默認為/usr/share/ansible
-o:壓縮輸出,摘要輸出
--private-key:私鑰路徑
-T:ssh連接超時時間,默認是10秒
-t:日志輸出到該目錄,日志文件名以主機命名
-v:顯示詳細日志

 

 

ansible server1 -m setup   #產看指定主機server1上的facts變量信息
ansible * -m setup           #查看指定的所有主機上的facts變量信息
ansible-doc -l:列出有哪些可用的模塊,按q退出
ansible-doc -l | wc -l:列出有多少個可用的模塊
ansible-doc -l | grep user:列出與user有關的模塊
ansible-doc user:查看user模塊的幫助文檔,按q退出。也可以在最后一行輸入/passwd,來過濾與passwd有關的內容
ansible test -a 'df -h'  在test組執行df -h命令

ping

n  ping模塊用來檢查目標主機是否在線

n  例子:ansible webserver -m ping

yum

yum模塊用來在Centos系統上使用yum命令安裝軟件包

選項:

name: 指定安裝包的名字

statelatest 安裝最新版  present 默認安裝  installed 安裝  absent 卸載

removed 卸載

例子:ansible webservers -m yum -a ‘name=httpd state=latest’

command

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

例子:ansible webservers -m command  -a ‘echo 李想’

shell

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

例子:ansible webservers -m shell  -a “cd /opt/ && touch lixiang”

service

n  service模塊用來管理centos上的服務的啟動、關閉、重啟和重載

n  選項:

u  name: 服務名字

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

u  enabled: 默認是no,將服務設置為開機自啟

file

n  file模塊用來創建文件、目錄、鏈接文件

n  選項:

u  group:定義文件/目錄的屬組

u  mode:定義文件/目錄的權限

u  owner:定義文件/目錄的屬主

u  path:必選項,定義文件/目錄的路徑

u  recurse:遞歸的設置文件的屬性,只對目錄有效

u  src:要被鏈接的源文件的路徑,只應用於state=link的情況

u  dest:被鏈接到的路徑,只應用於state=link的情況

u  state:

l  directory:如果目錄不存在,創建目錄

l  file:即使文件不存在,也不會被創建

l  link:創建軟鏈接

l  hard:創建硬鏈接

l  touch:如果文件不存在,則會創建一個新的文件,如果文件或目錄已存在,則更新其最后修改時間

l  absent:刪除目錄、文件或者取消鏈接文件

user

n  user模塊用來創建用戶

n  選項:

u  home: 指定創建的家目錄

u  groups:指定用戶組

u  uid:指定UID

u  password:設置密碼,密碼必須是密文

    Openssl passwd

u  name:創建的用戶名字

u  createhome:是否創建家目錄(yes/no)

u  state:  是創建還是刪除。(present,absent),默認是創建

u  shell: 指定用戶登錄的shell環境

u  remove:刪除用戶家目錄,默認為no

group

n  group用來創建用戶組

n  選項

u   gid:指定用的gid。 

u  name:指定用戶名。 

u  state:是創建還是刪除。(present,absent) 

copy

n  copy模塊用來復制文件至目標主機

n  選項:

u  src:文件在管理主機的據對路徑或者相對路徑

u  dest:將文件復制到目標主機的路徑

u  backup:是否將目標主機的同名文件備份,默認為no

u  mode: 授權

u  directory_mode:遞歸授權

n  例子:

ansible  webservers  -m copy  -a ‘src=/root/nginx.sh  dest=/opt/’

unarchive

n  unarchive模塊用來解壓文件

n  選項:

u  copy:在解壓文件之前,是否先將文件復制到遠程主機,默認為yes。若為no,則要求目標主機上壓縮包必須存在

u  creates:指定一個文件名,當該文件存在時,則解壓指令不執行

u  dest:遠程主機上的一個路徑,即文件解壓的絕對路徑。

u  group:解壓后的目錄或文件的屬組

u  mode:解壓后文件的權限

u  src:如果copy為yes,則需要指定壓縮文件的源路徑

u  owner:解壓后文件或目錄的屬主

n  例子:

ansible  webservers -m unarchive -a ‘src=/root/nginx.tar.gz  dest=/opt/ group=www ower=www mode=777 ’

get_url

n  get_url模塊,該模塊主要用於從http、ftp、https服務器上下載文件(類似於wget

n  選項:

u  url: 指定要下載的文件的URL地址

n  例子:

ansible webservers -m get_url -a ‘url= http://nginx.org/download/nginx-1.15.7.tar.gz  dest=/root/’

synchronize

n  使用rsync同步文件,將主控方目錄推送到指定節點的目錄下,使用此模塊需要先安裝rsync

n  delete: 刪除不存在的文件,delete=yes 使兩邊的內容一樣(即以推送方為主),默認no

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

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

n  dest_port:默認目錄主機上的端口 ,默認是22,走的ssh協議。

n  mode: push或pull,默認push,一般用於從本機向遠程主機上傳文件,pull 模式用於從遠程主機上取文件。

n  rsync_opts:通過傳遞數組來指定其他rsync選項。

fetch

n  fetch模塊它用於從遠程機器獲取文件,並將其本地存儲在由主機名組織的文件樹中。

n  選項:

u  src:遠程系統上要獲取的文件。 這必須是一個文件,而不是一個目錄。 后續版本可能會支持遞歸提取。

u  dest:保存文件的目錄

setup

n  setup 模塊用於收集遠程主機的一些基本信息。

n  選項:

u  filter參數:用於進行條件過濾。如果設置,僅返回匹配過濾條件的信息。

u  常用的過濾關鍵詞:

l  ansible_all_ipv4_addresses:僅顯示ipv4的信息

l  ansible_devices:僅顯示磁盤設備信息

l  ansible_distribution:顯示是什么系統,例:centos,suse等

l  ansible_distribution_major_version:顯示是系統主版本

l  ansible_distribution_version:僅顯示系統版本

l  ansible_machine:顯示系統類型,例:32位,還是64位

l  ansible_eth0:僅顯示eth0的信息

l  ansible_hostname:僅顯示主機名

l  ansible_kernel:僅顯示內核版本

l  ansible_lvm:顯示lvm相關信息

l  ansible_memtotal_mb:顯示系統總內存

l  ansible_memfree_mb:顯示可用系統內存

l  ansible_memory_mb:詳細顯示內存情況

l  ansible_swaptotal_mb:顯示總的swap內存

l  ansible_swapfree_mb:顯示swap內存的可用內存

l  ansible_mounts:顯示系統磁盤掛載情況

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

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

l  ansible_python_version:顯示python版本

u  例子:

獲取目標主機的ipv4地址

ansible webservers -m setup -a 'filter=ansible_all_ipv4_addresses'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM