1. 程式人生 > >ansible命令應用基礎

ansible命令應用基礎

模塊 all res -a 安裝程序 屬性 創建文件 取值 back

ansible命令應用基礎:
Usage: ansible <host-pattern> [-f forks] [-m module_name][-a args]
-f forks:啟動的並發線程數
-m module_name:要使用的模塊
-a args:模塊特有的參數

常見模塊:
ansible-doc -s 模塊 --查看模塊使用參數
command:命令模塊,默認模塊,用於在遠程執行命令:
#ansible all -a ‘ping‘

cron: 定時模塊
state:
present,latest表示安裝,absent表示卸載
#ansible web -m cron -a ‘minute="*/2" job="/bin/echo hello" name="test cron job"‘

user: 定義用戶模塊


name=: 指明創建的用戶的名字
#ansible web -m user -a ‘name=mysql uid=306 system=yes group=mysql‘
group=: 創建組
#ansible web -m group -a ‘name=mysql gid=306 system=yes‘

copy: 復制模塊
src=:定義本地源文件
dest=:定義遠程目標文件路徑
content=:取代src=,表示直接用此處指定的信息生成為目標文件內容:
#ansible all -m copy -a ‘src=/etc/fstab dest=/tmp/fstab.ansible owner=root mode=640‘

file:設定文件屬性

path=:指定文件路徑,可以使用name取dest來替換
創建文件的符號鏈接:
src=:指明源文件
path=:指明符號鏈接文件路徑
#ansible all -m file -a ‘path=/tmp/fstab.link src=/tmp/fstab.ansible state=link‘

ping:測試指定主機是否能連接
#ansible all -m ‘ping‘

service:指定運行狀態:
enabled=:是否開機自動啟動,取值為true或者false
name=:服務名稱
state=:狀態 取值有started,stopped,restarted

shell:在遠程主機上運行命令

尤其是用到管道等功能的復雜命令

script:將本地腳本復制到遠程主機並運行之:
註意:要適用相對路徑指定腳本
#vim ansible.sh
#chmod +x ansible.sh
#ansible all -m script -a ‘/root/ansible.sh‘

yum:安裝程序包
name=:指明要安裝的程序包,可以帶上版本號
state=:present,latest表示安裝,absent表示卸載
#ansible all -m yum -a "name=lrzsz "

setup:收集遠程主機的facts
每個被管理節點在接受並運行管理命令之前,會將自己主機相關信息,如操作系統版本,IP地址等報告給遠程的ansible主機。
#ansible all -m setup

ansible命令應用基礎