ansible常用命令

2022-07-16 17:27:12 字數 1828 閱讀 9822

ansible 預設提供了很多模組來供我們使用。在 linux 中,可以通過 ansible-doc -l 命令檢視到當前 ansible 都支援哪些模組,通過 ansible-doc  -s  模組名  又可以檢視該模組有哪些引數可以使用

常用模組:

!所有示例以webserver為匹配目標主機。

1.ping

ansible all -m ping

!檢測機器是否可登入,ping模組不需要傳送引數

!注:這裡的ping模組並非呼叫了系統的ping命令,而是類似於登入到遠端機器再echo出乙個資訊。

2.command

!可以執行任意命令,但不接受管道命令和重定向符號,如果想使用這些,則需要使用shell模組。

ansible all -m command -a "ls" #在所有匹配主機上執行ls命令

playbook:

- name: test for command

command: ls

3.copy

#複製乙個檔案到遠端伺服器

ansible all -m copy -a "src=/tmp/text.txt dest=/home/tmp/"

#將本地text.txt檔案複製到所有匹配主機的/home/tmp/路徑下。

playbook:

- name: test for copy

copy: src=/tmp/text.txt dest=/home/tmp/ force=yes

4.file

這個模組這次構建系統中並沒有用到,官方的解釋是用來設定檔案、資料夾或快鏈的屬性,或者刪除檔案、快鏈、資料夾。

建立乙個資料夾,如果目標不存在

ansible webservers -m file -a "path=/tmp/tdir state=directory mode=0755"

playbook

- name: create a directory if it doesn't exist

- file:

path: /etc/some_directory

state: directory

mode: 0755

playbook

- name: download foo.conf

get_url:

url:

dest: /etc/foo.conf

mode: 0440

6.yum

特別適用於批量安裝一些依賴包的時候

ansible webservers -m yum -a "name=httpd state=absent" !刪除包

控制遠端伺服器上的服務

ansible webservers -m service -a "name=nginx state=restart"

playbook

- name: restart rmote nginx

service: name=nginx state=restart

8.setup

收集遠端伺服器資訊

ansible all -m setup

在playbook中,這項任務預設是執行的,不需要列出。

---------------------

參考:

ansible常用命令

ad hoc常用命令是用來解決一些常用的簡單的配置命令,而且這些命令的執行速度很快。adhoc可以不用寫playbooks,使用方便簡單。man ansible ansible f forks m module a args arguments pattern 組名,或者主機名,匹配hosts檔案。...

Ansible常用命令

old 檢查主機連線 ansible caoguo m ping 執行遠端命令 ansible caoguo m command a uptime 執行主控端指令碼 ansible caoguo m script a etc ansible script test.sh 執行遠端主機的指令碼 ans...

Ansible入門 常用命令

ansible是用來批量配置伺服器的,達到配置自動化的目的。ansible使用ssh協議,無需配置agent,開箱即用。saltstack需要安裝agent,但部署速度快。核心模組 core,實現批量處理的命令 主機清單 etc ansible hosts 指令碼 playbook 大批量主機 yu...