ansible的模塊使用

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

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

image.png

執行完之後,會自動創建192.168.116.152/etc/這個目錄,並將拉取來的文件放到這個目錄下。

當返回信息爲綠色,change爲false,表示ansible沒有進行任何操作,沒有改變什麼。

當返回信息爲×××,change爲true,表示ansible執行了操作,當前狀態已經被anisble改變了目標狀態。



copy模塊:
copy模塊的作用就是拷貝文件,將ansible主機上的問文件拷貝到遠程主機上。有很多參數是可以用的,不細說。

參數:force如果遠程主機有已經存在同名文件,是否強制覆蓋。

           backup當遠程主機存在同名文件,是否備份

            owner:指定拷貝到暈車主機後的屬主,但是必須要有相應的用戶,否則報錯,group,mode類似。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章