Ansible命令格式和常用模塊介紹 Ansible命令格式介紹 Ansible命令格式 ansible [群組名] -m [模塊名] -a [參數] Ansible命令返回值的顏色表示 綠色:代表對遠程節點不進行相應修改,沒有發生改變,命令執行成功 黃色:代表對遠程節點進行了相應的修改,命令執行成 ...
Ansible命令格式和常用模塊介紹
Ansible命令格式介紹
Ansible命令格式
ansible [群組名] -m [模塊名] -a [參數]
Ansible命令返回值的顏色表示
綠色:代表對遠程節點不進行相應修改,沒有發生改變,命令執行成功
黃色:代表對遠程節點進行了相應的修改,命令執行成功
紅色:代表命令執行失敗或者有異常
粉色:代表命令執行後發出的警告信息,給出建議(可以忽略)
Ansible執行命令的方式
ad-doc:在命令行執行的命令(臨時命令)
Playbook:將命令寫入到Playbook劇本中
Ansible常用模塊介紹
command模塊
- command模塊為預設模塊,用於遠程執行命令(命令模塊)
- 使用command模塊在遠程主機中執行命令時,不會經過遠程主機的shell處理,在使用command模塊時,如果需要執行命令中的含"<",">","|","&"等特殊符號時,這些符號功能會失效
- 常用參數:
chdir: 此參數表示執行命令前,會先進入到指定的目錄中
creates: 表示文件如果存在於遠程主機中,則不執行對應命令,如果不存在則執行
removes: 表示文件如果不存在於遠程主機中,則不執行對應命令,如果存在則執行
- command模塊示例
chdir參數示例
執行ls命令前,先切換到/root目錄
creates參數示例
執行ls命令前,先判斷是否存在/etc/passwd這個文件,如果存在則不執行命令,不存在則執行
removes參數示例
執行ls命令前,先判斷是否存在/etc/passwd這個文件,如果不存在則不執行命令,存在則執行
shell模塊
- shell模塊,遠程執行命令模塊,和command模塊類似,區別在於shell模塊通過/bin/bash解釋器處理命令
- 常用參數:
cmd:指定用於執行的命令(用在Playbook劇本中)
chdir: 此參數表示執行命令前,會先進入到指定的目錄中
creates: 表示文件如果存在於遠程主機中,則不執行對應命令,如果不存在則執行
removes: 表示文件如果不存在於遠程主機中,則不執行對應命令,如果存在則執行
提示:shell模塊中的chdir,creates、removes參數的作用都是相同的
script模塊
- script模塊用於執行遠程腳本,腳本存放在ansible主機本地,不需要拷貝到遠程主機
ansible [群組名] -m script -a [需要執行的腳本]
yum模塊
- yum模塊用於在遠程主機通過yum源管理軟體包
- 常用參數
name:必須參數,用於指定需要管理的軟體包名字
state:用於指定軟體包的狀態
present:預設值,表示安裝軟體包
installed:此狀態表示安裝軟體包,與present等效
latest:表示安裝yum中最新版本軟體包
removed:表示刪除對應軟體包
absent:表示刪除對應軟體包,與removed等效
service模塊
- service模塊用於管理遠程主機的服務,如:啟動或停止服務
- 常用參數:
name:用於指定需要操作的服務名稱
state:用於指定服務的狀態
started:啟動服務
restarted:重啟服務
stopped:停止服務
enabled:用於指定是否將服務設置為開機啟動項,設置為yes表示設置開機啟動,設置no表示不會開機啟動
copy模塊
- copy模塊用於將文件複製到遠程主機
- 常用參數
src:用於指定需要拷貝的文件或目錄
dest:用於指定文件將拷貝到遠程主機的哪個目錄中,dest為必須參數
content:當不使用src指定拷貝的文件時,可以使用content直接指定文件內容,src與content兩個參數必有其一,否則會報錯
force:當遠程主機的目標路徑中已經存在同名文件,並且與ansible主機中的文件內容不同時,是否強制覆蓋,預設值為yes,表示覆蓋,如果設置為no,則不會執行覆蓋拷貝操作,遠程主機中的文件保持不變
backup:當遠程主機的目標路徑中已經存在同名文件,並且與ansible主機中的文件內容不同時,是否對遠程主機的文件進行備份,預設為no,設置為yes時,會先備份遠程主機中的文件,然後再將ansible主機中的文件拷貝到遠程主機
owner:指定文件拷貝到遠程主機後的屬主,遠程主機上必須有對應的用戶,否則會報錯
group:用於指定文件拷貝到遠程主機後屬組,遠程主機上必須有對應的組,否則會報錯
mode:指定文件拷貝到遠程主機後的許可權,例:設置許可權為rw-r--r--,可以使用mode=0644表示