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