查看ansible都有哪些模塊:
nginx
查看模塊的用法:
fetch模塊:將受管主機中的文件拉取到ansible主機上。
正則表達式
執行完以後,會自動建立192.168.116.152/etc/這個目錄,並將拉取來的文件放到這個目錄下。shell
當返回信息爲綠色,change爲false,表示ansible沒有進行任何操做,沒有改變什麼。windows
當返回信息爲×××,change爲true,表示ansible執行了操做,當前狀態已經被anisble改變了目標狀態。服務器
copy模塊:
copy模塊的做用就是拷貝文件,將ansible主機上的問文件拷貝到遠程主機上。有不少參數是能夠用的,不細說。ide
參數:force若是遠程主機有已經存在同名文件,是否強制覆蓋。fetch
backup當遠程主機存在同名文件,是否備份
url
owner:指定拷貝到暈車主機後的屬主,可是必需要有相應的用戶,不然報錯,group,mode相似。
spa
file模塊:能夠幫助咱們完成一些對文件的基本操做,好比:建立文件或目錄,刪除文件或目錄,修改文件權限等。操作系統
參數:
path:指定要操做的是文件或目錄。
state:指定在遠程主機建立的文件類型,目錄,文件,連接文件,當值設定爲absent,表示刪除目標。
src:當state指定建立的是軟硬連接文件時,須要指定源文件。
force:建立軟硬連接文件時使用,場景一:當源文件不存在時強制建立,場景二:當建立連接文件的目錄已經存在與連接文件同名的文件時,至關於刪除同名文件建立連接文件,場景三:當建立連接文件的目錄已經存在與連接文件同名的文件時,而且源文件並不存在,這是會強制奇幻同名文件爲連接文件。
owner,group指定被操做文件的屬主,屬組。
mode:執行被操做文件的權限。
rescurse:遞歸建立目錄。
blockinfile模塊:能夠幫助咱們在指定的文件中插入一段文本,這段文本是被標記過的,咱們在這段文件上作了幾號,以便在之後的操做中能夠經過」標記「找到這段文件,而後修改或者刪除它。
例子:
lineinfile模塊
藉助lineinfile模塊,確保「某一行文本」存在指定的文件中,或者確保從文件中刪除指定的「文本」(即確保指定的文本不存在於文件中),還能夠根據正則表達式,替換「某一行文本」。
1.若是指定的文本原本就存在於文件中,則不作任何操做,若是指定的文本不存在文件中,就會將文本插入文件的最後一行中。
find模塊
find模塊能夠幫助咱們在遠程主機中查找符號條件的文件,就像find命令同樣。
replace模塊
replace模塊能夠根據咱們指定的正則表達式替換文件中的字符串,文件中全部被正則匹配到的字符串都會被替換
command模塊
command模塊能夠幫助咱們在遠程主機上執行命令。
注意:使用command模塊在遠程主機中執行命令時,不會通過遠程主機的shell處理,在使用command模塊時,若是須要執行的命令中含有重定向,管道符等操做時,這些符號也會失效,好比」<「,">","|",";"和」&「這些符號,若是你須要這些功能,能夠參考後面介紹的shell模塊,還有一點須要注意,若是遠程節點是windows操做系統,則須要使用win_command模塊。
shell模塊
shell模塊能夠幫助咱們在遠程主機上執行命令,與command模塊不一樣的是,shell模塊在遠程主機中執行命令時,會通過遠程主機上的/bin/sh程序處理。
使用shell模塊能夠在遠程服務器上執行命令,它支持管道與重定向等符號。以下:使用>符號進行文件覆蓋
script模塊
script模塊能夠幫助咱們在遠程主機上執行ansible主機上的腳本,也就是說,腳本一直存在於ansible主機本地,不須要手動拷貝到遠程主機後再執行。
cron模塊
能夠幫助咱們管理遠程主機中的計劃任務,功能至關於crontab命令。
瞭解cron模塊的參數以前,先寫出一些計劃任務的事例,以下:
1.表示每3天執行一次計劃文件,於當天1點1分執行,具體任務 輸出test
1 1 */3 * * echo test
2.表示每次系統啓動後須要執行一次計劃任務,具體任務輸出test
@reboot echo test
3.表示沒小時執行一次計劃任務,具體任務輸出test字符串
@hourly echo test
例子:
在pro遠程主機上建立計劃任務,任務名稱爲"test crontab",任務於天天1點5分執行。以下在ansible主機上執行以後會在遠程主機生成定時任務,可使用 crontab -l 查看。
2.以前已經建立crontab day test這個任務,如要要想註釋掉這個任務,可使用以下命令,使用的時候須要注意,在註釋任務時,全部設定須要跟原設定保持一致,包括(name,job,時間段)。不然計劃任務的設置將會發生變化。以下:
service模塊:
service模塊能夠幫助咱們管理遠程主機上的服務,好比,啓動或者中止遠程主機中的nginx服務
user模塊
user模塊能夠幫助咱們管理遠程主機上的用戶,好比建立用戶,修改用戶,刪除用戶,爲用戶建立密鑰等操做。