Ansible-playbook基本使用(三)

例子:

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

[[email protected] ~]# ansible cce -m ping

2、使用command执行命令

[[email protected] ~]# ansible cce -m command -a ‘cat /etc/redhat-release‘

3、使用shell模块执行命令

[[email protected] ~]# ansible cce -m shell -a ‘cat /etc/redhat-release‘

4、使用copy模块复制文件

[[email protected] ~]# ansible cce -m copy -a "src=/etc/hosts dest=/root/cce"

[[email protected] ~]# ansible cce -m copy -a "src=/etc/hosts dest=/root/cce owner=nobody"

[[email protected] ~]# ansible cce -m copy -a "src=/etc/hosts dest=/root/cce owner=nobody mode=755"

改变之前做备份

[[email protected] ~]# ansible cce -m copy -a "src=/etc/hosts dest=/root/cce owner=nobody mode=755 backup=yes"

5、cron模块任务计划

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

查看

[[email protected] ~]# 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

[[email protected] ~]# ansible cce -m cron -a ‘name="timesync" state="absent"‘

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

[[email protected] ~]# ansible cce -m fetch -a ‘src=/root/cce dest=/root/cce‘

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

[[email protected] ~]# ansible cce -m file -a ‘path=/root/cce mode=777‘

[[email protected] ~]# ansible test -m file -a ‘src=/etc/fstab dest=/root/fstablink state=link‘

8、yum模块安装apache

[[email protected] ~]# ansible cce -m yum -a ‘name=httpd state=present‘

9、使用service模块启动服务

[[email protected] ~]# ansible cce -m service -a ‘name=httpd state=restarted‘

10、使用ansible添加用户

[[email protected] ~]# 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来进行特殊任务的进行

执行

时间: 2024-08-13 13:26:36

Ansible-playbook基本使用(三)的相关文章

Ansible playbook API 开发 调用测试

Ansible是Agentless的轻量级批量配置管理工具,由于出现的比较晚(13年)基于Ansible进行开发的相关文档较少,因此,这里通过一些小的实验,结合现有资料以及源码,探索一下Ansible的二次开发. 随笔的内容分为三个部分 playbook编辑执行 python 调用API执行playbook java调用python程序进行playbook的执行 实验的环境是centos6,ansible版本是1.9.4,python版本是2.6.6,jdk版本是1.7U79 一.playboo

Ansible PlayBook语法(4)

title: Ansible PlayBook语法(4) date: 2018-12-02 10:53:24 tags: Ansible categories: Ansible copyright: true --- Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能,ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署

运维自动化之ansible playbook一键化解决大量主机bash更新问题

今天发现有bash漏洞,但我这里近1000台服务器,为了方便.省时间,觉得使用ansible安装bash更新包,下面分享一下我的安装方法. 1.安装的playbook的内容 19:00:03 # cd /etc/ansible [email protected]:/etc/ansible 19:00:06 # cat update_bash.yml  --- - hosts: "{{ host }}"   remote_user: "{{ user }}"   ga

ansible playbook yummodule error

ansible playbookweb.yaml[[email protected] Desktop]# cat web.yaml- name: web servers  remote_user: root  hosts: webservers tasks:  - name: install httpd    yum: name=httpd state=present  - name: httpd service     service: name=httpd enabled=yes state

运维自动化之ansible playbook安装mysql

上次介绍了如何使用ansible playbook安装zabbix客户端(http://dl528888.blog.51cto.com/2382721/1436745),这次介绍一下如何使用playbook安装mysql. 下面是安装mysql的信息: mysql_basedir: /data/mysql/basedir                    源码目录 mysql_datadir: /data/mysql/datadir                    数据目录 mysql

运维自动化之ansible playbook安装ruby环境

本来不想打算写安装ruby的,但看几个puppet的群里有人对安装ruby比较茫然,所以这里简单介绍一下如何安装ruby. ps:话说现在也就gitlab.capistrano.puppet等软件使用ruby,最新2010年的软件好的都是python了,比如ansible.salt等. 下面是安装ruby的信息: ruby_version: 1.9.3 ruby_dir: /usr/local gem_version: 1.8.23 bundle_version: 1.6.3 可以看到ruby的

Ansible Playbook - Understanding YAML

要想用Ansible操作复杂的任务,就必须要学会YAML语法的书写,不光是Ansible,连他的竞争对手saltstack也使用了YAML,下面来学习一下YAML语法的格式,省得到要你写个Playbook的时候手忙脚乱的要好. 引用一下维基:YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递回缩写.在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语

自动化运维工具ansible playbook和roles的使用

ansible的结构: Inventory 用来定义被控制端 Modules 定义被控制端可用的操作 Ad Hoc Commands 定义被控制端可以执行命令的 Playbook 批量运行的方式 Tasks: 任务:由各模块所支持执行的特定操作:可以通过ansible-doc module_name来查看帮助文档,非常详细 -m  user -a 'name= password=' Variables: 变量 Templates: 模板:(如执行httpd服务时,各节点上httpd的配置文件内容

运维自动化之ansible playbook安装node环境

现在介绍如何使用ansible安装node. 下面是安装node的信息: node_dir: /data node_version: 0.10.21 node_port: 3301 可以看到node的版本是0.10.21,测试的node应用服务监听3301端口 备注:此playbook仅能对centos或者redhat的6.x版本进行安装. 下面是安装node的playbook结构 09:33:16 # tree node_* node_delete ├── files ├── handlers

ansible playbook使用总结

Ansible playbook的使用 playbooks概念 task: 任务:使用各模块所执行的特性操作任务,比如:-m user -a 'name= password=' Variables: 变量: Templates: 模板 在定义模板后可以实现各节点对应的变量来取代,表达式自身会根据当前节点所赋值做运算,之后生成的值则赋予这个参数,用于生产不同配置的配置文件,所以模板主要实现配置不同场景文本文件 而且这种使用模板语言来定义 模板语言中可以根据定义替换成特定主机的某些值 handler