首页 > 代码库 > Ansible-playbook基本使用(三)

Ansible-playbook基本使用(三)

例子:

1、ping模块所有cce组主机存活率

[root@centos6-1 ~]# ansible cce -m ping

2、使用command执行命令

[root@centos6-1 ~]# ansible cce -m command -a ‘cat /etc/redhat-release‘

3、使用shell模块执行命令

[root@centos6-1 ~]# ansible cce -m shell -a ‘cat /etc/redhat-release‘

4、使用copy模块复制文件

[root@centos6-1 ~]# ansible cce -m copy -a "src=http://www.mamicode.com/etc/hosts dest=/root/cce"

[root@centos6-1 ~]# ansible cce -m copy -a "src=http://www.mamicode.com/etc/hosts dest=/root/cce owner=nobody"

[root@centos6-1 ~]# ansible cce -m copy -a "src=http://www.mamicode.com/etc/hosts dest=/root/cce owner=nobody mode=755"

改变之前做备份

[root@centos6-1 ~]# ansible cce -m copy -a "src=http://www.mamicode.com/etc/hosts dest=/root/cce owner=nobody mode=755 backup=yes"

5、cron模块任务计划

[root@centos6-1 ~]# ansible cce -m cron -a ‘month="*/5" job="/usr/sbin/ntpdate 172.16.0.1 &>/dev/null" name="timesync"‘

查看

[root@centos6-1 ~]# ansible cce -m shell -a ‘crontab -l‘

172.16.253.131 | success | rc=0 >>

#Ansible: timesync

* * * */5 * /usr/sbin/ntpdate 172.16.0.1 &>/dev/null

172.16.252.193 | success | rc=0 >>

#Ansible: timesync

* * * */5 * /usr/sbin/ntpdate 172.16.0.1 &>/dev/null

删除crontab

[root@centos6-1 ~]# ansible cce -m cron -a ‘name="timesync" state="absent"‘

6、使用fetch模块将远程主机上的目录拉取到本地

[root@centos6-1 ~]# ansible cce -m fetch -a ‘src=http://www.mamicode.com/root/cce dest=/root/cce‘

7、使用file模块,对远程主机上的文件进行管理

[root@centos6-1 ~]# ansible cce -m file -a ‘path=/root/cce mode=777‘

[root@centos6-1 ~]# ansible test -m file -a ‘src=http://www.mamicode.com/etc/fstab dest=/root/fstablink state=link‘

8、yum模块安装apache

[root@centos6-1 ~]# ansible cce -m yum -a ‘name=httpd state=present‘

9、使用service模块启动服务

[root@centos6-1 ~]# ansible cce -m service -a ‘name=httpd state=restarted‘

10、使用ansible添加用户

[root@centos6-1 ~]# ansible cce -m user -a ‘name=cce home=/tmp/cce shell=/bin/bash uid=2000 comment="test user"‘

ansible-playbook:剧本基本使用

        hosts:执行的主机

        remote_user:远程执行脚本的用户

        tasks:任务

    

1、使用剧本一键部署httpd

技术分享

执行

技术分享

2、使用notify、handlers来进行控制(注意:这个只能用在剧本的最后,否则,其他的都不予执行)

技术分享

执行结果

技术分享

3、使用tags来进行特殊任务的进行

技术分享

执行

技术分享


本文出自 “Char” 博客,谢绝转载!

Ansible-playbook基本使用(三)