标签:ansible 自动化工具 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=/etc/hosts dest=/root/cce"
[root@centos6-1 ~]# ansible cce -m copy -a "src=/etc/hosts dest=/root/cce owner=nobody"
[root@centos6-1 ~]# ansible cce -m copy -a "src=/etc/hosts dest=/root/cce owner=nobody mode=755"
改变之前做备份
[root@centos6-1 ~]# ansible cce -m copy -a "src=/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=/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=/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 自动化工具 ansible-playbook
原文地址:http://charcce.blog.51cto.com/4255555/1887252