ansible 例子

时间:2024-12-01 12:33:39

ansible all -i inventory --list-hosts
ansible web -i inventory --list-hosts

ssh-keygen
ssh-copy-id 


 ansible localhost -m ping
 ansible localhost -m command -a "hostname"

 ansible localhost -m command -a "hostname" -o

 ansible localhost -m shell -a "set" -o

 ansible-doc -l | grep temp
 ansible-doc template

 ansible localhost -m template -a "src=/root/aa1.txt dest=/root/aa2.txt"

 yum
yum模块用于在指定节点机器上通过yum管理软件,其支持的参数主要有两个

name:要管理的包名
state:要进行的操作
state常用的值:

latest:安装软件
installed:安装软件
present:安装软件
removed:卸载软件
absent:卸载软件

ansible localhost -m yum -a "name=vsftpd state=present"

ansible localhost -m copy -a "src=/root/aa2.txt dest=/root/aa3.txt"

ansible localhost -m user -a "name=testuser group=test"
ansible localhost -m user -a "name=testuser state=absent remove=yes"

ansible localhost -m service -a "name=vsftpd state=started"
ansible localhost -m service -a "name=vsftpd state=stopped"
ansible localhost -m file -a "path=/root/aa1.txt state=absent"

- name: enable vsftpd and start it
  hosts: localhost
  tasks:
    - name: enable vsftpd
      service:
        name: vsftpd
        enabled: true
    - name: start vsftpd
      service:
        name: vsftpd
        state: started


- name: print facts
  hosts: localhost
  tasks:
    - name: de
      debug:
        var: ansible_facts["interfaces"]

- name: test loop
  hosts: localhost
  vars:
    myitem:
      - test1
      - test2
  tasks:
    - name: print item
      shell: "echo myitem:{{item}}"
      loop: "{{myitem}}"
      register: result
    - name: debug echo
      debug:
        var: result