稱為臨時命令,簡單說,就是在命令列介面,直接通過一條ansible命令,去指定主機執行指定指令,功能有限usage: ansible [options]例如:ansible localhost -m command -a "
df -h
"
#3.1 命令用法主機或主機組,被執行的客戶端裝置,必填項
[option]:
-m module #
【常用】模組,指定要執行使用的模組
-a #
【常用】代模組引數,使用-m指定某個模組,該模組可能需要跟某些引數,此時引數就放在-a 後面的雙引號內" "。不加-m 模組,直接使用-a 指預設指定了-m command 模組
-u username #
--user=username:指定遠端主機以username執行命令
-k #
--ask-pass ssh:認證密碼,回車手動輸入密碼
-c connection #
--connection=connection:指定連線方式,可用選項paramiko,ssh,local
-f num #
--forks=num:併發執行緒數,預設是5個執行緒
--list-hosts #
列出符合條件的主機列表,不執行任何命令
-v #
--verbose:輸出更詳細的執行過程資訊
-vvv #
可得到執行過程所有資訊
-i path #
--inventory(清單,即主機列表檔案路徑)=path:指定inventory(清單)資訊,預設路徑是/etc/ansible/hosts
--private-key=private_key_file #
指定金鑰檔案
-m directory #
--module-path=directory:指定模組存放路徑,預設/usr/share/ansible/,也可通過ansibel_library設定預設路徑
-k #
--ask-sudo-pass sudo:使用者的密碼(--sudo時使用)
-o #
--one-line:標準輸出至一行
-s #
--sudo:相當於linux系統下的sudo命令
-t directory #
--tree=directory:輸出資訊至directory目錄下,結果檔案以遠端主機命名
-t seconds #
--timeout=seconds:指定連線遠端主機的最大超時,單位是秒
-b num #
--background=num:後台執行命令,超過num秒後中止正在執行的任務
-p num #
--poll=num:定期返回後台任務進度
-l subset #
--limit=subset:指定執行主機
-l ~regex #
--limit=~regex:指定執行主機(正則)
ansible-doc [options] [module...]3.2 options選項
--version #3.3 module選項顯示工具版本號
-h #
顯示該help說明
-m module_path #
--module-path=module_path指定ansible模組的預設載入目錄
-l #
--list:列出所有可用模組
-s #
--sinppet:只顯示playbook說明的**段
-v #
等同於--version,顯示工具版本號
例如:ansible-doc -l #列出所有可用模組
例如:ansible-doc yum #檢視yum模組的使用說明
例項1:測試遠端網路裝置的ssh服務是否能正常訪問
命令:ansible 192.168.62.41 -m ping -u cisco -c local -k
此命令,各引數解析
#192.168.62.41 #此ip已存在/etc/ansible/hosts檔案,並開啟了inventory功能(/etc/ansible/ansible.cfg)
-m ping #
使用ping模組,用於測試遠端服務ssh的可登陸性
-u cisco #
以使用者名稱cisco登入遠端主機
-c local #
local指定從本地執行python指令碼,預設是在遠端執行python指令碼,因此採用預設連線方式,遠端必須是有python環境的
#因此遠端若是網路裝置,因為不可能還有python環境,因此都需要指定採用本地連線方式-c local
-k #
回車,輸入ssh密碼
例項2:獲取遠端網路裝置的裝置配置資訊
命令:ansible 192.168.62.41 -c local -m ios_facts -a 'auth_pass=cisco gather_subset=all authorize=yes' -u cisco -k
-c local #使用本地連線,預設是遠端鏈結
-m ios_facts #
ios_facts是思科ios的裝置資訊模組
-a #
模組裡的引數
-a '
auth_pass=cisco gather_subset=all authorize=yes
'auth_pass
#enable密碼
gather_subset #
收集給定子集的範圍,如收集所有all;只收集配置資訊config;不只收集硬體資訊!hardware
-u username #
登入裝置使用者名稱
-k #
回車輸入裝置登入密碼
Ansible 小手冊系列 七(Ad hoc)
ansible提供兩種方式去完成任務,一是 ad hoc 命令,一是寫 ansible playbook。前者可以解決一些簡單的任務,後者解決較複雜的任務。ad hoc 臨時的,在ansible中是指需要快速執行,並且不需要儲存的命令。說白了就是執行簡單的命令 一條命令。定義主機清單 cat etc...
Ansible之四 Ad hoc與命令執行模組
ad hoc 是指ansible下臨時執行的一條命令,並且不需要儲存的命令,對於複雜的命令會使用playbook。ad hoc的執行依賴於模組,ansible官方提供了大量的模組。如 command raw shell file cron等,具體可以通過ansible doc l 進行檢視 可以使用...
Ansible4 Ad hoc與命令執行模組
目錄命令執行模組 ad hoc 是指ansible下臨時執行的一條命令,並且不需要儲存的命令,對於複雜的命令會使用playbook。ad hoc的執行依賴於模組,ansible官方提供了大量的模組。如 command raw shell file cron等,具體可以通過ansible doc l ...