ansible官方提供了非常多的模組,還有若干第三方模組,我們也可以自己編寫模組。
ansible對遠端伺服器的操作實際是通過模組完成的,先將模組拷貝到遠端伺服器,完成操作後,然後在遠端伺服器上刪除該模組。
檢視模組幫助資訊:
檢視模組列表:
ansible-doc -l
檢視具體模組幫助資訊,以file為例
ansible-doc file
ping模組
測試現有的ssh引數能否連遠端伺服器。
ansible webservers -m ping
遠端命令模組
commond 不能使用管道,引數chdir可以切換到指定目錄,再執行命令。
raw 可以使用管道,相當於使用ssh直接執行linux命令。
shell shell模組可以執行遠端伺服器上的指令碼,指令碼檔案要使用絕對路徑
script 可以在遠端伺服器上執行主控節點上的指令碼檔案。
ansible webservers -m script -a 'test.sh'
file模組
file模組用於對遠端伺服器上的檔案(包塊鏈結和目錄)進行操作,包括修改許可權,修改屬主,建立刪除檔案。
重要選項:
#建立乙個目錄
ansible webservers -m file -a 'path=/tmp/dd state=directory mode=0755'
#修改檔案許可權
ansible webservers -m file -a 'path=/tmp/dd state=touch mode=0411'
#建立乙個軟鏈結
ansible webservers -m file -a 'src=/tmp/dd dest=/tmp/ddl state=link'
#修改所有者
ansible webservers -m file -a 'path=/tmp/dd owner=scott group=scott' -become
#刪除檔案
ansible webservers -m file -a 'path=/tmp/ddl state=absent'
copy模組
類似於scp,將本地檔案拷貝到遠端伺服器,但是它更加強大,它還可以修改檔案的許可權和所屬。
#複製檔案並修改所屬主,如果檔案已經存在,則進行備份。
ansible webservers -m copy -a 'src=/tmp/data.txt dest=/tmp/data.txt owner=root backup=yes' -become
user/group
對使用者和組的操作。
# 建立乙個使用者,並生成金鑰對。
ansible webservers -m user -a 'name=dev1 comment="dev" group=root uid=1099 generate_ssh_key=yes ssh_key_bits=2048' -become
# 刪除使用者
ansible webservers -m user -a 'name=dev1 state=absent' -become
yum/apt
安裝和刪除軟體
#安裝軟體
ansible webservers -m yum -a 'name=git state=present' -become
#刪除軟體
ansible webservers -m yum -a 'name=git state=absent' -become
Ansible常用模組使用
ansible官方提供了非常多的模組,還有若干第三方模組,我們也可以自己編寫模組。ansible對遠端伺服器的操作實際是通過模組完成的,先將模組拷貝到遠端伺服器,完成操作後,然後在遠端伺服器上刪除該模組。檢視模組幫助資訊 檢視模組列表 ansible doc l 檢視具體模組幫助資訊,以file為例...
Ansible常用模組
1.ping模組2.ansible command模組是ansible預設模組,主要用於執行linux基礎命令,可以執行遠端伺服器命令執行 任務執行等操作。但command模組不支援變數 重定向 管道符等,這些操作需要用shell模組執行 command模組使用詳解 chdir 執行命令前,切換到目...
ansible常用模組
1.setup 該模組主要用於收集資訊,是通過呼叫facts元件來實現的 ansible doc s setup ansible mysql m setup 檢視mysql伺服器上所有資訊檢視遠端主機基本資訊 ansible all m setup2.ping測試遠端主機執行狀態 ansible a...