playbook 剧本如下

[root@sz_fy_virt_encrypt_33_239 x]# cat jdk.yml
- hosts: web
remote_user: opsadmin
become: yes
become_method: sudo
become_user: root
tasks:
- name: copy jdk to remote hosts
copy: src=jdk-8u45-linux-x64.tar.gz dest=/tmp/ - name: tar jdk
shell: tar xf /tmp/jdk-8u45-linux-x64.tar.gz -C /usr/local/ - name: link
file: src=/usr/local/jdk1..0_45 dest=/usr/local/jdk state=link - name: java_env
shell: /bin/echo {{ item }} >> /etc/profile && source /etc/profile
with_items:
- export JAVA_HOME=/usr/local/jdk
- export JRE_HOME=/usr/local/jdk/jre
- export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH
- export PATH=\$JAVA_HOME/bin:\$PATH /etc/ansible/hosts

192.168.11.172 ansible_user=opsadmin ansible_sudo_pass="x" ansible_ssh_port=12600
192.168.11.173 ansible_user=opsadmin ansible_sudo_pass="x" ansible_ssh_port=12600
192.168.11.174 ansible_user=opsadmin ansible_sudo_pass="x" ansible_ssh_port=12600

ansible-playbook --syntax-check jdk.yml

ansible-playbook -C jdk.yml  #tar 命令  用-C 检测参数 看来是模拟不了

正式执行结果如下

[opsadmin@sz x]$ ansible-playbook  jdk.yml 

PLAY [web] *******************************************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *******************************************************************************************************************************************************************************************************************************************************
ok: [192.168.11.173]
ok: [192.168.11.174]
ok: [192.168.11.172] TASK [copy jdk to remote hosts] **********************************************************************************************************************************************************************************************************************************************
changed: [192.168.11.174]
changed: [192.168.11.172]
changed: [192.168.11.173] TASK [tar jdk] ***************************************************************************************************************************************************************************************************************************************************************
[WARNING]: Consider using the unarchive module rather than running tar. If you need to use command because unarchive is insufficient you can add warn=False to this command task or set command_warnings=False in ansible.cfg to get rid of this message. changed: [192.168.11.174]
changed: [192.168.11.173]
changed: [192.168.11.172] TASK [link] ******************************************************************************************************************************************************************************************************************************************************************
changed: [192.168.11.172]
changed: [192.168.11.174]
changed: [192.168.11.173] TASK [java_env] **************************************************************************************************************************************************************************************************************************************************************
changed: [192.168.11.172] => (item=export JAVA_HOME=/usr/local/jdk)
changed: [192.168.11.173] => (item=export JAVA_HOME=/usr/local/jdk)
changed: [192.168.11.174] => (item=export JAVA_HOME=/usr/local/jdk)
changed: [192.168.11.172] => (item=export JRE_HOME=/usr/local/jdk/jre)
changed: [192.168.11.173] => (item=export JRE_HOME=/usr/local/jdk/jre)
changed: [192.168.11.174] => (item=export JRE_HOME=/usr/local/jdk/jre)
changed: [192.168.11.172] => (item=export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH)
changed: [192.168.11.174] => (item=export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH)
changed: [192.168.11.173] => (item=export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH)
changed: [192.168.11.172] => (item=export PATH=\$JAVA_HOME/bin:\$PATH)
changed: [192.168.11.174] => (item=export PATH=\$JAVA_HOME/bin:\$PATH)
changed: [192.168.11.173] => (item=export PATH=\$JAVA_HOME/bin:\$PATH) PLAY RECAP *******************************************************************************************************************************************************************************************************************************************************************
192.168.11.172 : ok= changed= unreachable= failed=
192.168.11.173 : ok= changed= unreachable= failed=
192.168.11.174 : ok= changed= unreachable= failed=

检查结果

ansible 部署jdk的更多相关文章

  1. CentOSLinux系统中Ansible自动化运维的安装以及利用Ansible部署JDK和Hadoop

    Ansible 安装和配置 Ansible 说明 Ansible 官网:https://www.ansible.com/ Ansible 官网 Github:https://github.com/an ...

  2. 使用ansible部署CDH 5.15.1大数据集群

    使用ansible离线部署CDH 5.15.1大数据集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在此之前,我之前分享过使用shell自定义脚本部署大数据集群,不管是部署CD ...

  3. 001.Ansible部署RHCS存储集群

    一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...

  4. linux下部署jdk+Tomcat

    部署jdk (如果是普通用户,先切换到管理员 su root) 1.下载jdk压缩包 2.用xftp将jdk压缩包传输 /opt 目录下 3.解压(在/opt 目录下对压缩包解压) tar -xzvf ...

  5. 使用Ansible部署etcd 3.2高可用集群

    之前写过一篇手动搭建etcd 3.1集群的文章<etcd 3.1 高可用集群搭建>,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境, 先从部署etcd 3.2集群开始. ...

  6. linux服务器上部署jdk+tomcat+rocketmq+redis-cluster

    通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...

  7. 如何在Cent OS上安装和部署jdk与tomcat?

    Cent OS是一款Linux系统.在商业应用中,Linux操作系统在服务器市场有着广泛的运用,这源于Linux系统的几大优点: 1.跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的, ...

  8. ansible部署,规划

    部署管理服务器 第一步:先检查有没有ssh服务 [root@iZm5eeyc1al5vzh8bo57zyZ ~]# rpm -qf /etc/init.d/sshd openssh-server-5. ...

  9. CentOS7.5 -- Ansible部署与应用

    第1章 Ansible概述 Ansible是一个配置管理系统configuration management system python 语言是运维人员必须会的语言 ansible 是一个基于pyth ...

随机推荐

  1. 清华大学《C++语言程序设计基础》线上课程笔记02---类与对象

    类与对象 public是类的对外访问接口: 类内初始值 在定义类时对数据成员写初始值,在创建对象的时候,会使用类内初始值初始化数据成员: class Clock { public: void show ...

  2. RedHat7.1 安装Oracle12102

    选型: 32位的内存是个瓶颈,已经是64位的时代了.使用64位的CentOS6 和 64位的Oracle 11g R2 在虚拟机器安装,采用hostonly方式设置网络 注意:能上网的网卡要设置一下I ...

  3. SpringBoot学习:IDEA中快速搭建springboot项目

    项目下载地址:http://download.csdn.net/detail/aqsunkai/9805821 (一)IDEA中创建maven web项目 创建好项目后设置项目的编译路径: (二)引入 ...

  4. 【数据库】 SQL 常用语句

    [数据库] SQL 常用语句 1.批量导入 INSERT INTO Table2(field1,field2,...) SELECT value1,value2,... FROMTable1 要求目标 ...

  5. virsh查看迁移信息的两个命令

    virsh qemu-monitor-command uuid --hmp info migrate, 能看到迁移所设置的相关参数,和进度相关信息: virsh domjobinfo uuid命令, ...

  6. UVa 294 - Divisors 解题报告 c语言实现 素数筛法

    1.题目大意: 输入两个整数L.H其中($1≤L≤H≤10^9,H−L≤10000$),统计[L,H]区间上正约数最多的那个数P(如有多个,取最小值)以及P的正约数的个数D. 2.原理: 对于任意的一 ...

  7. 初学者学习python2还是python3?

    如果你是一个初学者,或者你以前接触过其他的编程语言,你可能不知道,在开始学习python的时候都会遇到一个比较让人很头疼的问题:版本问题!!是学习python2 还是学习 python3 ?这是非常让 ...

  8. webmagic 二次开发爬虫 爬取网站图片

    webmagic的是一个无须配置.便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫. webmagic介绍 编写一个简单的爬虫 webmagic的使用文档:http://w ...

  9. STL中的set容器的一点总结2

    http://blog.csdn.net/sunshinewave/article/details/8068326 1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像 ...

  10. fork开源代码后如何基于某个tag建立自己的branch

    应用场景: 在github上fork一个自己想看的开源项目,想基于某个tag来写一些测试demo,然后可以做到版本控制. 方法: //克隆 git clone xxxxx.git //查看tag gi ...