文章相關知識:
ansible常用模組知識彙總(一)
模組一:find模組
作用:查詢檔案、目錄
常用引數:
paths:必要引數,指定在哪個目錄查詢。可以指定多個路徑,用逗號隔開。也可以使用path
patterns:指定要查詢的檔名,預設是檔案型別,目錄需要用引數指定。支援萬用字元,如果需要用python的正則去匹配的話,需要使用引數use_regex引數
contains:根據文字的內容進行查詢檔案,有點像grep,支援正規表示式。
recurse:遞迴查詢,預設只會查詢指定目錄下的檔案,如果有子目錄,將不會查詢子目錄裡的檔案,yes表示查詢。
hidden:查詢隱藏檔案
file_type:指定查詢的型別,file(檔案),directory(目錄),any(所有),link(鏈結)
use_regex:預設情況下patterns引數不會解析正規表示式,設定成yes,表示可以解析正規表示式。
age:根據時間範圍查詢,age=-3d表示mtime在3天內的,age=3d表示3天外。單位還有s(秒),m(分),時(h),天(d),星期(w)。
age_stamp:指定時間型別,mtime,ctime,atime。
size:檔案大小,size=-50k,表示小於50k的檔案,常用的單位b,k,m,g,t
get_checksum:當查詢到檔案時,會返回對應檔案的校驗碼,不過需要花費時間生成。
示例:
在/usr目錄下查詢222開頭的檔案,預設不進行遞迴和只查詢檔案
ansible testa -m find -a 'paths=/usr patterns="^222"'
用遞迴檢視/usr下包含222的內容的檔案
ansible testa -m find -a 'paths=/usr contains=".*222.*" recurse=yes'
查詢/tmp目錄下的所有.sh結尾的檔案,包括隱藏檔案,但是不進行遞迴
ansible testa -m find -a 'paths=/tmp/ patterns="*.sh" file_type=any hidden=yes'
patterns根據正規表示式進行查詢
ansible testa -m find -a 'paths=/tmp/ patterns=".*\.sh" use_regex=yes file_type=file'
查詢一天以內的檔案:
ansible testa -m find -a 'paths=/tmp/ age=-1d recurse=yes'
atime查詢
ansible testa -m find -a 'paths=/tmp/ age=-1d age_stamp=atime recurse=yes patterns="*.sh" '
查詢2g以上的檔案
ansible testa -m find -a "paths=/tmp/ size=2g recurse=yes"
模組二:replace
作用:替換文字中的內容,效果和sed -i 『s/ / /g』一樣
常用引數:
path:指定要操作的檔案,也可以用dest
regexp:必須引數,指定乙個python正則,匹配到的都會被替換
replace:最終要替換成的字串
backup:修改之前是否先備份
示例:
ansible testa -m replace -a 'path=/tmp/aaab.txt regexp="aa" replace=xx'
//字串的替換,並不會替換整行
模組三:command
作用:在遠端機器上執行命令。當命令含有管道符,重定向等操作時,包括「>","<","&"這些符號會失效。如果遠端機器是windonws系統,需要使用win_comand模組。
沒有什麼要注意的引數。
示例:
ansible testa -m command -a "ls"
模組四:shell模組
作用:也是在遠端機器上執行命令,不過它支援管道和特殊符號,因為經過/bin/bash
也沒有什麼常用引數。
示例:
ansible testa -m shell -a "/bin/bash /tmp/1.sh"
模組五:script
作用:幫助我們在遠端機器上執行ansible上的指令碼,也就是說不用手動拷貝過去也可以執行。
示例
ansible testa -m script -a "/tmp/2.sh" ///ansible/tmp下的2.sh
模組六:cron
作用:制定任務計畫
常用引數:
minute:分,不使用時預設*
hour:時
day:日
month:月
weekday:周
special_time:值為@reboot時表示重啟時執行,@hourly表示每小時執行
user:指定設定當前任務計畫是屬於哪個使用者,當不使用該引數時,預設為管理員使用者。
job:用於指定計畫的任務中需要實際執行的命令或者指令碼
name:用於設定任務計畫的名稱
state:刪除時,設定state=absent
disabled:當任務計畫有名稱時,可以根據名稱使對應的任務失效(注釋掉對應的任務)。注意,使用該引數時,需要同時指定任務名稱和任務job和任務的時間設定,必須和對應任務完全相同,任務的時間設定會被修改。
backup:yes時,會先備份。
示例:
建立
ansible testa -m cron -a "name='test cron' minute=5 hour=1 job='echo test' "
刪除ansible testa -m cron -a "name='test cron' state=absent"
模組七:service
作用:管理遠端主機上的服務,比如說啟動、停止
常用引數:
name:指定需要操作的服務名稱
state:指定要操作的狀態。started、stopped、restarted、reloaded。
enabled:設定開啟啟動項,yes,no。
示例:
ansible testa -m service -a "name=nginx state=started"
ansible常用模組知識彙總(一)
所有的模組都可以使用下面的命令檢視引數 ansible doc s 模組名 查詢某個模組的引數 ansible doc l 檢視所有模組模組一 ping ping模組用來檢測主機群是否存活,連通。要用的引數比較少,常用的使用 ansible test m ping uroot 也可以不用 u指定使用...
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...