ansible的模塊使用

查看ansible都有哪些模塊:
image.pngnginx

查看模塊的用法:
fetch模塊:將受管主機中的文件拉取到ansible主機上。
正則表達式

image.png

執行完以後,會自動建立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

image.png



file模塊:能夠幫助咱們完成一些對文件的基本操做,好比:建立文件或目錄,刪除文件或目錄,修改文件權限等。操作系統

參數:
path:指定要操做的是文件或目錄。

state:指定在遠程主機建立的文件類型,目錄,文件,連接文件,當值設定爲absent,表示刪除目標。

src:當state指定建立的是軟硬連接文件時,須要指定源文件。

force:建立軟硬連接文件時使用,場景一:當源文件不存在時強制建立,場景二:當建立連接文件的目錄已經存在與連接文件同名的文件時,至關於刪除同名文件建立連接文件,場景三:當建立連接文件的目錄已經存在與連接文件同名的文件時,而且源文件並不存在,這是會強制奇幻同名文件爲連接文件。

owner,group指定被操做文件的屬主,屬組。

mode:執行被操做文件的權限。

rescurse:遞歸建立目錄。


image.png


blockinfile模塊:能夠幫助咱們在指定的文件中插入一段文本,這段文本是被標記過的,咱們在這段文件上作了幾號,以便在之後的操做中能夠經過」標記「找到這段文件,而後修改或者刪除它。

image.png

例子:

image.png



lineinfile模塊

藉助lineinfile模塊,確保「某一行文本」存在指定的文件中,或者確保從文件中刪除指定的「文本」(即確保指定的文本不存在於文件中),還能夠根據正則表達式,替換「某一行文本」。

image.png

1.若是指定的文本原本就存在於文件中,則不作任何操做,若是指定的文本不存在文件中,就會將文本插入文件的最後一行中。

image.png


find模塊

find模塊能夠幫助咱們在遠程主機中查找符號條件的文件,就像find命令同樣。



replace模塊

replace模塊能夠根據咱們指定的正則表達式替換文件中的字符串,文件中全部被正則匹配到的字符串都會被替換

image.png

image.png

command模塊

command模塊能夠幫助咱們在遠程主機上執行命令。

注意:使用command模塊在遠程主機中執行命令時,不會通過遠程主機的shell處理,在使用command模塊時,若是須要執行的命令中含有重定向,管道符等操做時,這些符號也會失效,好比」<「,">","|",";"和」&「這些符號,若是你須要這些功能,能夠參考後面介紹的shell模塊,還有一點須要注意,若是遠程節點是windows操做系統,則須要使用win_command模塊。

image.png


shell模塊

shell模塊能夠幫助咱們在遠程主機上執行命令,與command模塊不一樣的是,shell模塊在遠程主機中執行命令時,會通過遠程主機上的/bin/sh程序處理。

image.png

使用shell模塊能夠在遠程服務器上執行命令,它支持管道與重定向等符號。以下:使用>符號進行文件覆蓋

image.png



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

image.png


例子:

  1. 在pro遠程主機上建立計劃任務,任務名稱爲"test crontab",任務於天天1點5分執行。以下在ansible主機上執行以後會在遠程主機生成定時任務,可使用 crontab -l 查看。

image.png

2.以前已經建立crontab day test這個任務,如要要想註釋掉這個任務,可使用以下命令,使用的時候須要注意,在註釋任務時,全部設定須要跟原設定保持一致,包括(name,job,時間段)。不然計劃任務的設置將會發生變化。以下:

image.png



service模塊:

service模塊能夠幫助咱們管理遠程主機上的服務,好比,啓動或者中止遠程主機中的nginx服務

image.png


image.png


user模塊

user模塊能夠幫助咱們管理遠程主機上的用戶,好比建立用戶,修改用戶,刪除用戶,爲用戶建立密鑰等操做。

image.png


image.png

相關文章
相關標籤/搜索