#ansible
- ansible webservers -m setup -a 'filter=ansible-eth*'
- ansible webservers -m shell -a 'ss -ntl | grep 80'
- ansible webservers -m copy -a 'src=/root/ansible/selinux dest=/etc/selinux/config backup=yes mode=600 owner=yyy'
- ansible webservers -m fetch -a 'src=/var/log/messages dest=/data'
- ansible webservers -m file -a 'path=/data/f1 state=absent' ['path=/data/dir1 state=directory']
- ansible webservers -m cron -a 'minute=* weekday=1,3,5 job="/usr/bin/wall FBI Warning" name=warningcrontab state=present'
- ansible webservers -m service -a 'name=vsftpd state=started enabled=false'
- ansible webservers -m user -a 'name=nginx shell=/sbin/nologin system=yes home=/var/nginx groups=root,bin uid=80 comment="nginx service" '
- ansible webservers -m yum -a 'name=httpd state=present'
- ansible-playbook [-C] test.yml
-------------------------------------------
---
- hosts: webservers
remote_user: root
vars:
- pkname1: httpd
- pkname2: nginx
tasks:
- name: create group
group: name=yg gid=80
- name: create a user and join the group
user: name=yyy system=yes group=yg
- name: install package1
yum: name={{ pkname1 }} state=present
- name: install package2
yum: name={{ pkname2 }} state=present
tags: nginx
- name: copy template
template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
tags: nginx
notify:
- restart nginx
- check nginx process
handlers:
- name: restart nginx
service: name=nginx state=restarted enabled=yes
- name: check nginx process
shell: killall -0 nginx > /tmp/nginx.log
-------------------------------------------