Ansible認證:
實踐:
ansible服務器越多甫恩,價值越大,
要執(zhí)行腳本,遠程的機器上必須要有腳本
ansible-doc -l?? 查看Linux下所有模塊的命令鞍时,
ansible-doc -s 模塊名
shell模塊功能說明:
執(zhí)行一個命令在遠程節(jié)點上
參數(shù)說明:
選項參? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?數(shù)選項說明
chdir? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?在執(zhí)行命令之前履肃,通過cd命令進入到指定目錄中
creates? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?定義一個文件是否存在仔沿,如果不存在,則運行相應的命令尺棋;如果存跳過次步驟
free——form(必有參數(shù))? ?參數(shù)信息中可以輸入任何系統(tǒng)命令信息封锉,實現(xiàn)遠程管理
removes? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?定義一個文件是否存在,如果存在膘螟,則運行相應的命令成福;如果不存在跳過此步驟
說明:shell模塊為基本命令模塊,可以執(zhí)行腳本文件荆残,當相應腳本文件需要存在于遠程主機節(jié)點上奴艾,并且shell模塊不收變量類似$HOME和參數(shù)類似”<”,”>”内斯,”|”蕴潦,”,”,”;”俘闯,”&”
copy模塊功能說明:復制文件到遠程主機
參數(shù):
選項參數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 選項說明
src? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 本地路徑文件復制到遠程服務器潭苞;可以是絕對路徑也可以是相對路徑
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如果路徑是一個目錄,將湖遞歸復制备徐,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?在這種情況下萄传,如果路徑以”/”結束,只將在該目錄的內(nèi)容復制到目的地
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?否則蜜猾,如果它不以”/”結束秀菱,目錄和目錄下所有內(nèi)容都會被復制
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 以上這種復制方式類似于rsync
dest(必有參數(shù))? ? ? ? 文件應該被拷貝到的遠程絕對路徑信息。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如果src是一個目錄蹭睡,dest也必須是目錄
owner? ? ? ? ? ? ? ? ? ? ? ? ? ?定義所擁有文件/目錄的所屬用戶名稱衍菱,類似chown命令功能
group? ? ? ? ? ? ? ? ? ? ? ? ? ? 定義所擁有文件/目錄的所屬組名稱,類似chown命令功能
mode? ? ? ? ? ? ? ? ? ? ? ? ? ? ?定義文件或目錄的權限信息
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 就像使用/usr/bin/chmod?? 設定八進制(如 0644)權限一樣肩豁,取消掉前導零可能會有意想不到的結果脊串。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 作為1.8版本辫呻,可以指定為符號模式(如u+rwx or? u=w, g=r,o=r)
backup? ? ? ? ? ? ? ? ? ? ? ? ? ?件備份文件并且包含時間戳信息,以便能夠還原回文件琼锋,在某種情況源文件被覆蓋錯誤時放闺。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?默認配置為no,并且配置指定信息為yes|no
content? ? ? ? ? ? ? ? ? ? ? ? ? ? ?當使用代替src參數(shù)時缕坎,將文件的內(nèi)容直接設置位指定值怖侦,遠端創(chuàng)建有指定內(nèi)容文件,并且只能設置簡單值谜叹。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?對于任何復雜或者有格式化的內(nèi)容匾寝,請切換到template模塊
force? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?默認為yes,當遠程文件內(nèi)容和源文件內(nèi)容不同時荷腊,將覆蓋目錄文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?默認為no艳悔,文件將只被傳輸,在目標主機不存在此文件時
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 別名thirsty
remote_src? ? ? ? ? ? ? ? ? ? ? ? 如果為False女仰,將搜索源信息在本地/管理及機器上
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如果為True猜年,將到遠程/目標主機的機器上搜索
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 默認為false,目前remote_src不支持遞歸拷貝
說明:copy模塊是遠程推送數(shù)據(jù)模塊董栽,只能將數(shù)據(jù)推送到遠程主機上码倦,不能實現(xiàn)拉取數(shù)據(jù)到本地管理主機。
批量分發(fā)host需求:
ansible?oldboy? -m? copy??-a? “src=/etc/hosts? dest=/etc/hosts? mode=0644?owner=root? group=root? backup=yes”
script模塊:遠程節(jié)點上運行本地腳本锭碳。
file模塊參數(shù):
設置文件屬性:
選項參數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 選項說明
src? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?要鏈接的文件路徑(只能應用 state=link)袁稽,創(chuàng)建鏈接文件時使用
path(必有參數(shù))? ? ? ? ? ? ? ? ? 文件路徑管理:別名方式:dest,name
owner? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?定義所擁有文件/目錄的所屬用戶名稱擒抛,類似chown命令功能
group? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 定義所擁有文件/目錄的所屬組名稱推汽,類似chown命令功能
mode? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 定義文件或目錄的權限信息;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 就像使用/usr/bin/chmod?? 設定八進制(如 0644)權限一樣歧沪,取消掉前導零可能會有意想不到的結果歹撒。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?作為1.8版本,可以指定為符號模式(如u+rwx or? u=w, g=r,o=r)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? state如果指定參數(shù)為directory
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #所有不存在的子目錄將會被創(chuàng)建诊胞,并且從1.7開始支持設置目錄權限
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如果指定參數(shù)為file
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#如果文件不存在將不能被創(chuàng)建暖夭,如果想創(chuàng)建可以參考copy和template模塊
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 如果指定參數(shù)為link
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#符號鏈接將被創(chuàng)建或更改
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如果指定參數(shù)為hard
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #便會創(chuàng)建出硬鏈接
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 如果指定參數(shù)為absent
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#目錄將被遞歸刪除以及文件,而鏈接將被取消鏈接撵孤。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#請注意迈着,定義文件不存在會失敗,知識輸出沒有發(fā)生任何改變的結構
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如果指定參數(shù)為touch
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#如果路徑不存在將創(chuàng)建一個空文件邪码,如果文件或目錄存在將接受更新的文件訪問和修改時間(類似? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 于”touch ”從命令行工作的方式)
說明:file模塊主要用于創(chuàng)建文件或目錄數(shù)據(jù)裕菠,以及多存在的文件或目錄權限屬性進行修改管理。
recurse=yes
遞歸創(chuàng)建
?file模塊功能說明:
功能說明:設置文件屬性官方鏈接:http://docs.ansible.com/ansible/latest/file_module.html
================================================================
替代方案:
ansible?oldboy??-m?command?-a?"chmod?777?/etc/hosts?warn=false"
ansible?oldboy??-m?command?-a?"chmod?644?/etc/hosts?warn=false"
ansible?oldboy??-m?command?-a?"chown?oldboy?/etc/hosts?warn=false"
ansible?oldboy??-m?command?-a?"chown?root?/etc/hosts?warn=false"
創(chuàng)建目錄:mkdir?/tmp/oldboy_dir
ansible?oldboy?-m?file?-a?"dest=/tmp/oldboy_dir?state=directory"
遞歸設置權限:
ansible?oldboy?-m?file?-a?"dest=/tmp/oldboy_dir?state=directory?mode=644?recurse=yes"
創(chuàng)建文件:touch?/tmp/oldboy_file
ansible?oldboy?-m?file?-a?"dest=/tmp/oldboy_file?state=touch"
刪除文件:rm?-f?/tmp/oldboy_file
ansible?oldboy?-m?file?-a?"dest=/tmp/oldboy_file?state=absent"
創(chuàng)建鏈接文件:ln?-s?/etc/hosts?/tmp/link_file
ansible?oldboy?-m?file?-a?"src=/etc/hosts?dest=/tmp/link_file?state=link"
ansible?oldboy?-m?file?-a?"dest=/tmp/oldboy_file?state=touch?owner=oldboy?group=oldboy?mode=000"
ansible?oldboy?-m?file?-a?"dest=/tmp/oldboy_file?state=touch?owner=oldboy?group=oldboy?mode=ugo=rwx"
yum包管理模塊:
選項參數(shù)? ? ? ? ? ? ? ? ? 選項說明
name? ? ? ? ? ? ? ? ? ? ? 需要安裝的軟件包名稱信息闭专,或包的版本標識信息
state? ? ? ? ? ? ? ? ? ? ? ?是否安裝(present or installed latest)奴潘,或者移除(absent? or? removed)一個包
說明:yum模塊的參數(shù)功能很多旧烧,但日常工作中主要用到就是以上兩個模塊參數(shù)
service 模塊功能說明:
選項參數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? 選項說明
name? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 定義所要管理的服務名稱
enable? ? ? ? ? ? ? ? ? ? ? ? ? ? ?確認是否徐彤啟動時運維指定的服務,對于state或enable參數(shù)在管理服務時至少需要一個
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? statestated/stopped
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?以上兩個參數(shù)屬于服務激活操作命令画髓,除非必要掘剪,否則不用經(jīng)常運行這兩個參數(shù)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? restarted
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 重啟操作將是始終支持的服務
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?reloaded
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表示進行平滑重啟
systemd模塊功能說明:
定時任模塊參數(shù):
模塊參數(shù)? ? ? ? ? ? ? ? ? ? ? 模塊描述
minute? ? ? ? ? ? ? ? ? ? ? ? ?Minute when? the? job? should? run
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?運行job任務的分鐘時間信息
hour? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Hour when the job should? run
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?運行job任務的小時時間信息
day? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Day of the month the jobshouldrun
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?運行job任務的日期時間信息
month? ? ? ? ? ? ? ? ? ? ? ?Month of the week that the job should run
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?運行job任務的星期時間信息
job? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?The command to execute? or, if env is set奈虾,the value of environment variable杖小。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Required if state=present。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?執(zhí)行的命令如果env被社會愚墓,將作為環(huán)境變量的值,但前提是
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? state=present
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?定時任務索要完成的操作
注釋定時任務用disabled=yes
常用模塊? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?模塊說明
command(重要模塊)? ? ? ? ? ?執(zhí)行命令模塊昂勉,ansible命令執(zhí)行默認模塊
shell(重要模塊)? ? ? ? ? ? ? ? ? ? 執(zhí)行shell腳本模塊
script(重要模塊)? ? ? ? ? ? ? ? ? ?把腳本發(fā)到客戶端浪册,然后執(zhí)行;執(zhí)行腳本命令在遠程服務器上
copy(重要模塊)? ? ? ? ? ? ? ? ? ? ?把本地文件發(fā)送到遠端
file? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?設定文件屬性模塊
service? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?系 統(tǒng)服務管理模塊(CentOS6)
systemd? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 系統(tǒng)服務管理模塊(CentOS7)
cron? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?計劃任務管理模塊
yum? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? yum軟件包安裝管理模塊