ansible 基礎模組

2022-09-11 20:51:19 字數 2970 閱讀 1271

1 service|systemd(centos7推薦用systemd模組)

name:name.service(類似mysqld,nginx等)

state:started|stoped|reloaded|restarted(動作+ed)

enabled: yes (代表加入開機啟動)

daemon_reload:systemd(systemd獨有)

示例- name: start nginx

service:

name: nginx

state: started

2 yum:(安裝軟體)

name: service_name|"}"(安裝的包名稱|多個包迴圈)

state: present(如果已存在,則不會更新)

loop: (這裡是迴圈才加)

- name1

- name2

示例- name: install | dependency package

yum:

name: "}"

state: present

loop:

- gcc

- make

- openssl

- zlib

3 wait_for:(檢測服務健康)

port:service_port(檢測的埠)

delay:time(在做下乙個動作之前的延時時間,直到埠存在則返回)

示例- name: check | check nginx status

wait_for:

port: 8080

delay: 3

4 selinux相關

state=disabled(關閉selinux)

示例-name: selinxu close

selinux:

state=disabled

5 replace(配置檔案進行替換調整-會全部進行替換)

path:資料檔案路徑

regexp:正規表示式匹配

replace:替換值

示例- name: configure | setup worker_connections 100

replace:

path: "/etc/nginx/nginx.conf"

regexp: '^(\s*worker_connections).+$'

replace: '\1 };

6 lineinfile:(和replace類似,但是不同點在於確保存在這個行2是只會更改匹配的最後一行)

示例- name: configure | setup worker_processes 4

lineinfile:

path: "/etc/nginx/nginx.conf"

regexp: '^\s*worker_processes\s'

line: "worker_processes };"

7 unarchive:(遠端推送並解壓)

remote_src: yes(遠端推送)

src: 要推送的軟體包

dest: 解壓到目標位置,需要是乙個目錄

creates:指定乙個檔名,當該檔案存在時,則解壓指令不執行,目的是防止覆蓋

owner: 預設陣列

group:

示例- name: unarchive python bin files.

unarchive:

remote_src: yes

src: "}"

dest: /usr/local

creates:}/bin/mysql

8 file:(檔案和資料夾模組)

path: file|dir

recurse: true(如果是目錄需要遞迴進行)

state: touch/directory/absent(刪除)

示例- name: "file模組在目標伺服器上建立檔案"

file:

path: /opt/filemodule/filemodulesetup.txt

state: touch

owner: root

group: root

mode: 755

- name: "file模組在目標伺服器上建立要刪除的檔案"

file:

path: /opt/filemodule/filemoduledelete.txt

state: touch

owner: root

group: root

mode: 755

- name: "file模組在目標伺服器上刪除檔案"

file:

path: "/opt/filemodule/filemoduledelete.txt"

state: absent

11 shell:(執行命令)

shell: 具體命令多個記得用;間隔開來

12 template模組-配置檔案模板推送

src:template_file_name

dest:目錄檔案(絕對路徑)

- name: copy configfile to nodes

template:

src: test.j2

dest: /tmp/test.conf

13 debug模組-列印輸出

var 將某個任務執行的輸出作為變數傳遞給debug模組,debug會直接將其列印輸出

msg 除錯輸出的訊息

- name: display all variables/facts known for a host

debug:

var: hostvars[inventory_hostname]

verbosity: 4

- debug:

msg: "system } has gateway }"

when: ansible_default_ipv4.gateway is defined

ansible 基礎常用模組

修改 etc ansible hosts中新增組 a 192.168.122.60 192.168.122.68檢視模組用法 ansible doc s 模組名 ansible doc s copy ansible doc s fetchshell模組 file模組 在file模組中,path na...

Ansible常用基礎模組

command模組 shell模組 script模組 copy模組 lineinfile replace模組 yum模組 service模組 setup模組 ping模組 ansible all m ping ping測試連通性ansible all m command a uptime 檢視所有機...

Ansible常用模組

1.ping模組2.ansible command模組是ansible預設模組,主要用於執行linux基礎命令,可以執行遠端伺服器命令執行 任務執行等操作。但command模組不支援變數 重定向 管道符等,這些操作需要用shell模組執行 command模組使用詳解 chdir 執行命令前,切換到目...