# -C 验证
ansible-playbook -C file.yml

# -t 标签 启用某个标签
ansible-playbook -t tagname file.yml
# 多标签执行
ansible-playbook -t tagname1,tagname2 file.yml

ansible -a 'getent passwd test2'

 

# ping
---
- hosts: appservers
  user: root
  tasks:
  - name: test connection
    ping:
    remote_user: root

 

#打印日志
---
- hosts: appservers
  tasks:
    - name: "demo shell"
      shell: echo `date`, helloworld I love ansible >> /tmp/echo.log

 

# 复制文件
---
- hosts: appservers
  tasks:
    - name: "demo shell"
      shell: echo `date`, helloworld I love ansible >> /tmp/echo.log

#  tasks:
    - name: copy ansible inventory file to client
      copy:
        src: /etc/ansible/hosts
        dest: /tmp/hosts
        owner: root
        group: root
        mode: 0644

---
- hosts: appservers
  tasks:
    - name: "demo shell"
      shell: echo start `date`

    - name: "create direction"
      file: path=/tmp/mytemp state=directory mode=0755

    - file:
        path: /tmp/demo1
        state: directory
        mode: 0755

 

# 变量
---

- hosts: appservers

  vars:
    redisfilepath: /software/redis-4.0.11.tar.gz

  tasks:
    - name: "demo shell"
      shell: echo start `date` {{redisfilepath}}  >> /tmp/ehco.log

 

# 注意 比如src引用变量要加  单引号   '{{ redisfilepath }}'

---

- hosts: appservers

  vars:
    redisfilepath: /software/redis-4.0.11.tar.gz

  tasks:
    - name: "demo shell"
      shell: echo start `date` {{ redisfilepath }}  >> /tmp/ehco.log


    - name: copy redis to appservers
      copy:
        src: '{{ redisfilepath }}'
        dest: /software
        owner: root
        group: root
        mode: 0644
---
- hosts: appservers
  remote_user: root

  tasks:
    - name: create new file
      file: name=/tmp/newfile state=touch
    - name: create new user
      user: name=test2 system=yes shell=/sbin/nologin
    - name: install package
      yum: name=httpd
    - name: copy html
      copy: src=/data/index.html dest=/var/www/html/
    - name: start service
      service: name=httpd state=started enabled=yes

安装docker 

---
- hosts: testservers
  tasks:
    - name: install yum-utils
      yum: name=yum-utils state=present
    - name: install device-mapper-persistent-data
      yum: name=device-mapper-persistent-data state=present
    - name: install lvm2
      yum: name=lvm2 state=present
    - name: install wget
      yum: name=wget state=present
    - name: download docker-ce.repo
      get_url:
        url: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
        dest: /etc/yum.repos.d/docker-ce.repo
    # - script: /ansible/shell/
    - name: install docker-ce
      yum: name=docker-ce state=present update_cache=yes

    - name: show docker version
      command: docker --version

    - service:
        name: docker
        state: started




# 
# wget http:///public/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm

# rpm -ivh container-selinux-2.68-1.el7.noarch.rpm --nodeps --force