CentOS部署多台服务器JDK(shell脚本部署)
部署7台新服务器的jdk,数量不算多,但也不打算一台一台的部署,写了个脚本执行
【
#!/bin/bash
# JDK 安装包名
jdk_packge="jdk-8u162-linux-x64.tar.gz"
# JDK 安装包解压后目录名
jdk_name="jdk1.8.0_162"
# JDK 存放目录
jdk_dir="/usr/local/jdk"
# 安装过程信息
message=""
# 需要安装 JDK 的服务器IP
serverIP=(192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 192.168.1.15 192.168.1.16)
cd /root
if [ -e /root/$jdk_packge ]
then
for ip in $serverIP
do
scp -r $jdk_packge root@$ip:/root
ssh -p22 root@$ip <<FOF
cd /root
if [ -e $jdk_packge ]
then
tar -zxvf $jdk_packge
if [ -e $jdk_name ]
then
mv $jdk_name $jdk_dir
if [ -e $jdk_dir/$jdk_name ]
then
echo "JAVA_HOME=$jdk_dir/$jdk_name" >> /etc/profile
echo "CLASSPATH=$jdk_dir/$jdk_name/lib" >> /etc/profile
echo "PATH=$PATH:$jdk_dir/jdk_name/bin" >> /etc/profile
echo "export JAVA_HOME CLASSPATH PATH" >> /etc/profile
source /etc/profile
message=$message"$ip:安装成功!/n"
else
message=$message"$ip: JDK 存放目录移动失败!/n"
fi
else
message=$message"$ip: JDK 解压失败!/n"
fi
else
message=$message"$ip: JDK 安装包不存在,传送文件失败!/n"
fi
FOF
done
fi
echo $message >> /root/bushu.log
】
CentOS部署多台服务器JDK(shell脚本部署)的更多相关文章
- CentOS7系统 ansible自动化部署多台服务器部署
CentOS7系统 ansible自动化部署多台服务器部署 Ansible工作机制 从图中可以看出ansible分为以下几个部份: 1> Control Node:控制机器2> In ...
- 秘钥登录服务器执行shell脚本
做自动化的时候,有时候避免不了要和服务器有互动,刚巧碰上一个项目,需要执行命令才能完成本次测试. 昨天遇到的是秘钥形式的,只有秘钥和用户名,百度找了许久也没有思路,(能账号密码登录服务器的还简单些), ...
- Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务
文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...
- IDEA部署项目,并结合Shell脚本运行Java程序
一.概述 在实际开发中,我们写好的代码,往往打成war包或jar包,通过winscp或其他软件将其上传至服务器,然而这样非常大的一个弊端就是不利于开发,为什么这么说呢?假如我们刚刚将springboo ...
- springboot打包不同环境配置与shell脚本部署
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...
- 解决Jenkins用shell脚本部署后,Jenkins自动杀掉启衍生出来的守护进程
Jenkins部署java项目遇到的问题: 1.Jenkins执行构建后,需要手动执行startup.sh,站点才能正常访问 产生原因: shell脚本发布时,会衍生进程,Jenkins默认会自动杀掉 ...
- shell脚本部署apache并能通过浏览器访问!
第一步:导入httpd-2.2.17.tar包 第二步:创建一个test.sh文件(可在/root下) 第三步编写shell脚本 > 会重写文件,如果文件里面有内容会覆盖 >>这个是 ...
- shell脚本部署redis以及redis主从复制和redis-cluster集群
# 关于脚本: # 使用root用户执行此脚本,提前关闭selinux: # 执行脚本之前,hostsIP内的IP修改成自己的机器IP: # hostsIp内的IP数量如果有增加或者减少,for循环的 ...
- centos环境自动化批量安装jdk软件脚本
自动化安装jdk软件部署脚本 准备工作: 1.在执行脚本的服务器上生成免密码公钥: 安装expect命令 yum install -y expect ssh-keygen 三次回车 2.将jdk-7u ...
随机推荐
- php 实现字符串最大子串长度
求字符串最大子串长度<?php class zif { public function sz($str) { $strsz = str_split($str); $zi = []; $len = ...
- centos修改ssh默认端口号的方法
修改/etc/ssh/sshd_config配置文件(注意:这里是sshd_config,而不是ssh_config) vi /etc/ssh/sshd_config 在sshd_config文件中添 ...
- pytest环境准备与入门
前言pytest 是 python2 默认自带的,python3 的版本 pytest 框架独立出来了,需用 pip 安装.以下为 python3.7版本为例 pytest是python的一种单元测试 ...
- 三、mybatis多表关联查询和分布查询
前言 mybatis多表关联查询和懒查询,这篇文章通过一对一和一对多的实例来展示多表查询.不过需要掌握数据输出的这方面的知识.之前整理过了mybatis入门案例和mybatis数据输出,多表查询是在前 ...
- IOS开发之UIScrollView约束布局
概要 在iOS开发学习中,UIScrollView是绕不过去的一个重要控件. 但是相对于Android的ScrollView,iOS的这个滚动控件的用法简直是复杂一万倍... 最主要是目前能找到的大部 ...
- 微服务安全(二)OAuth 2.0
1. 概念 OAuth是一个开放的.安全的用户认证协议,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源,而无须将用户名和登录口令提供给第三方应用.授权的第三方应用只能在特定的时段内访问特定 ...
- SQL实例_11Oracle基本操作
前言导读 本章介绍了在正常使用Oracle数据库之前进行的常规操作 本章语句的运行需要子啊PLSQL软件中运行 本章导入导出语句需要在虚拟环境中直接运行 1 Oracle创建表空间和用户 --1 创建 ...
- 初学python-day6 for循环和流程控制(已更新循环做三角形图形!!)
for循环 1.格式 for 变量 in 集合: 循环体 2.概述 当程序执行for循环,按顺序从集合中获取元素变量保存当前循环得到的值,再去执行循环体.当集合中数据都被取完,则此刻跳 ...
- 【UE4 C++】 SaveGame 存档/读档
创建 SaveGame 类 继承自 USaveGame UCLASS() class TIPS_API USimpleSaveGame : public USaveGame { GENERATED_B ...
- [对对子队]会议记录5.22(Scrum Meeting9)
今天已完成的工作 梁河览 工作内容:修改第一到九关新手引导,修复关卡选择bug 相关issue:优化初步导出版本 相关签入:fix:修改第一关到第九关的新手引导和地图场景的bug 马嘉 ...