ansible-playbook
1.拷贝文件:
[root@cet1 playbooks]# cat copytest.yml
---
#copy file test
- hosts: test2
tasks:
- name: copy file to client
copy: src=/tmp/copy.file dest=/tmp owner=root group=root mode=0644 ----owner group mode 可以不写没有关系
[root@cet1 playbooks]# ansible-playbook copytest.yml
PLAY [test2] ******************************************************************
GATHERING FACTS ***************************************************************
ok: [192.168.100.79]
TASK: [copy file to client] ***************************************************
changed: [192.168.100.79]
PLAY RECAP ********************************************************************
192.168.100.79 : ok=2 changed=1 unreachable=0 failed=0
客户端(也可在服务端验证):
[root@localhost tmp]# ls -l
total 48
-rw-r--r-- 1 root root 18 Mar 16 00:36 copy.file -----存在文件
2.创建自己指定用户 加上了变量
[root@cet1 playbooks]# cat createuser.yml
---
#create user
- name: create user
hosts: dns
user: root
vars:
tasks:
- name: create {{ user }}
user: name="{{ user }}"
[root@cet1 playbooks]# ansible-playbook createuser.yml --extra-vars "user=abc"
PLAY [create user] ************************************************************
GATHERING FACTS ***************************************************************
ok: [192.168.100.79]
TASK: [create abc] ************************************************************
changed: [192.168.100.79]
PLAY RECAP ********************************************************************
192.168.100.79 : ok=2 changed=1 unreachable=0 failed=0
服务端:
[root@cet1 playbooks]# ansible dns -m shell -a "id abc"
192.168.100.79 | success | rc=0 >>
uid=501(abc) gid=501(abc) groups=501(abc)
3.服务是否开启:
[root@cet1 playbooks]# cat test.yml
---
#This is a test file
- hosts: test_server
vars:
http_port: 80
max_clients: 200
remote_user: root
tasks:
- name: ensure apache is running
service:
name: httpd
state: started
handlers:
- name: restart apache
service:
name: httpd
state: restarted
4.安装服务
[root@cet1 test]# cat install_nginx.yml
---
- hosts: test2
tasks:
- name: copy files
copy: src=/tmp/nginx.repo dest=/etc/yum.repos.d
- name: install nginx
shell: yum install nginx -y
- name: start nginx
service:
name: nginx
state: started
handlers:
service:
name: nginx
state: restarted
----------------------------------------------------------------缺少yum模块 我 只好把nginx的yum配置拷贝咯
可以YUM 安装 我少了包要装什么捏 = =
[root@cet1 test]# cat /tmp/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
=====================================================
PS : 那个对齐很重要 然后语法是树型 中间还出过该模块不是同一等级 = =
1.拷贝文件:
[root@cet1 playbooks]# cat copytest.yml
---
#copy file test
- hosts: test2
tasks:
- name: copy file to client
copy: src=/tmp/copy.file dest=/tmp owner=root group=root mode=0644 ----owner group mode 可以不写没有关系
[root@cet1 playbooks]# ansible-playbook copytest.yml
PLAY [test2] ******************************************************************
GATHERING FACTS ***************************************************************
ok: [192.168.100.79]
TASK: [copy file to client] ***************************************************
changed: [192.168.100.79]
PLAY RECAP ********************************************************************
192.168.100.79 : ok=2 changed=1 unreachable=0 failed=0
客户端(也可在服务端验证):
[root@localhost tmp]# ls -l
total 48
-rw-r--r-- 1 root root 18 Mar 16 00:36 copy.file -----存在文件
2.创建自己指定用户 加上了变量
[root@cet1 playbooks]# cat createuser.yml
---
#create user
- name: create user
hosts: dns
user: root
vars:
tasks:
- name: create {{ user }}
user: name="{{ user }}"
[root@cet1 playbooks]# ansible-playbook createuser.yml --extra-vars "user=abc"
PLAY [create user] ************************************************************
GATHERING FACTS ***************************************************************
ok: [192.168.100.79]
TASK: [create abc] ************************************************************
changed: [192.168.100.79]
PLAY RECAP ********************************************************************
192.168.100.79 : ok=2 changed=1 unreachable=0 failed=0
服务端:
[root@cet1 playbooks]# ansible dns -m shell -a "id abc"
192.168.100.79 | success | rc=0 >>
uid=501(abc) gid=501(abc) groups=501(abc)
3.服务是否开启:
[root@cet1 playbooks]# cat test.yml
---
#This is a test file
- hosts: test_server
vars:
http_port: 80
max_clients: 200
remote_user: root
tasks:
- name: ensure apache is running
service:
name: httpd
state: started
handlers:
- name: restart apache
service:
name: httpd
state: restarted
4.安装服务
[root@cet1 test]# cat install_nginx.yml
---
- hosts: test2
tasks:
- name: copy files
copy: src=/tmp/nginx.repo dest=/etc/yum.repos.d
- name: install nginx
shell: yum install nginx -y
- name: start nginx
service:
name: nginx
state: started
handlers:
service:
name: nginx
state: restarted
----------------------------------------------------------------缺少yum模块 我 只好把nginx的yum配置拷贝咯
可以YUM 安装 我少了包要装什么捏 = =
[root@cet1 test]# cat /tmp/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
=====================================================
PS : 那个对齐很重要 然后语法是树型 中间还出过该模块不是同一等级 = =
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30629069/viewspace-2058244/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30629069/viewspace-2058244/