jdk 自动化脚本

摘要:
编辑脚本创意。要编辑Java脚本思想,首先,您需要部署一次,了解部署步骤,并在开始时编写脚本。完全不可能理解脚本语法:sed“/maching content/d”filename表示删除一行内容echo“content”˃˃filename表示向文件中添加内容

添加没有登录权限

需要理解linux用户,首先登陆的是root用户,拥有所有的权限,但是该权限太大,一般都会分配其他用户使用,并且在部署程序时,需要分配一个没有登录权限的用户,这样改程序不能随意被修改,如何添加没有登录权限的用户和用户组如下:

  1. groupadd groupname
    useradd -g groupname username -s /bin/false //-s为默认shell,不给shell,也就不能登录
  2. groupadd groupname
    useradd -g groupname username -s /sbin/nologin //-s为默认shell,默认给予shell,但是不给登录shell

脚本

先给出脚本 (java.sh 脚本名称):

#!/bin/sh

app_User=ice-app
App_Group=app

# 安装文件
Java_Install_File=jdk-8u192-linux-x64.tar.gz
#Java 目录名称
Java_File_Name=jdk1.8.0_192
# 应用程序目录
Java_Home_Opt=/opt
# 
Java_Home_App=/opt/jdk1.8.0_192
# 解压Java文件
install(){
        echo "Install Java..."
        sudo tar zxvf $Java_Install_File
        #移动Java程序到opt目录下
        sudo mv $Java_File_Name $Java_Home_Opt
        #create group if not exists  
        egrep "^$App_Group" /etc/group >& /dev/null
        if [ $? -ne 0 ]
        then
                echo "Creating Application Group:"$App_Group
                sudo groupadd -f $App_Group
        fi
        #create user if not exists  
        egrep "^$app_User" /etc/passwd >& /dev/null
        if [ $? -ne 0 ]
        then
                echo "Creating Application User:"$app_User
                sudo useradd -g $App_Group -d /home/$app_User -m -s /bin/false -r $app_User
        fi
        #设置目录权限
        echo "Set The Permission For User: "$app_User
        sudo chown -R $app_User $Java_Home_App
        sudo chmod -R o+w $Java_Home_App
        # 追加Java环境变量
        echo '# java environment param' >> /etc/profile
        echo "export JAVA_HOME=$Java_Home_App" >> /etc/profile
        echo 'export JRE_HOME=$JAVA_HOME/jre' >> /etc/profile
        echo 'export PATH=$JAVA_HOME:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH' >> /etc/profile

        # 刷新配置文
        source /etc/profile
}
# 删除Java jdk程序
uninstall(){
        # 删除/etc/profile 环境变量
        sed -i "/export JAVA_HOME=/d" /etc/profile
        sed -i '/export JRE_HOME/d' /etc/profile
        sed -i '/export PATH=$JAVA_HOME/d' /etc/profile
         # 删除文件
        sudo rm -rf $Java_Home_App
        # 刷新配置文
        source /etc/profile
}
###################################
#读取脚本的第一个参数($1),进行判断
#参数取值范围:{install|uninstall}
#如参数不在指定范围之内,则打印帮助信息
###################################
case "$1" in
        'install')
         install
         ;;
        'uninstall')
         uninstall
         ;;
         *)
        echo "Usage: $0 {install|uninstall}"
esac
  exit                

需要将脚本变为可执行文件
chmod +x java.sh

使用脚本
./java.sh install 部署程序
./java.sh uninstall 卸载程序

程序完成功能
install功能:

  1. 解压脚本
  2. 当用户和用户组不存在时,添加用户和用户组
  3. 添加环境变量并刷新配置文件

uninstall功能:
1.删除环境变量并刷新配置文件
2.删除java文件

注意: jdk-8u192-linux-x64.tar.gz文件需要和java.sh放在一起,才能够完成部署
jdk1.8.0_192是tar解压之后的文件,这个文件解压时可以指定,没有指定,则使用默认文件。

编辑脚本思路

  1. 编辑该Java脚本思路,首先是需要肯定是要部署一遍,知道部署的步骤,一上来就写脚本,是肯定不行的
  2. 理解脚本的语法 : sed '/匹配内容/d' 文件名 表示删除某行内容
    echo '内容' >> 文件名 表示向文件追加内容

免责声明:文章转载自《jdk 自动化脚本》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Apollo的基本概念和集成实战gcc/g++编译下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PHP操作Mysql数据库记录操作函数

简介:这是PHP操作Mysql数据库记录操作函数的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。 frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=325731' scrolling='no'> 数据库记录操作函数(5个): 1、mysql_fet...

Java之jdk命令行工具详解

        JPS---虚拟机进程状况工具常用的参数: -l 输出Java应用程序的main class的完整包 -q 仅显示pid,不显示其它任何相关信息 -m 输出传递给main方法的参数 -v 输出传递给JVM的参数。在诊断JVM相关问题的时候,这个参数可以查看JVM相关参数的设置 注:这个命令相信大多数java程序员都知晓、查找当前运行的jav...

linux springboot快捷启动脚本

yum install redhat-lsb -y   进入/usr/local/bin放入脚本springboot添加权限chmod +x springboot #################################### #!/bin/bash. /etc/profile if [ -r /lib/lsb/init-functions ];...

Sumblime Text 2 常用插件以及安装方法

【内容提要】使用Package Control组件在线安装更方便 安装Sublime Text 2插件的方法: 1.直接安装 安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages)。 2.使用Package Control组件安装 也可以安装package...

Oralce JDBC jar包下载

下载地址:https://pan.baidu.com/s/1sU7gu4biigEAw-3Bu7yIOA 下载包中包括以下文件: ojdbc5.jarojdbc5dms.jarojdbc5dms_g.jarojdbc5_g.jarojdbc6.jarojdbc6dms.jarojdbc6dms_g.jarojdbc6_g.jarsimplefan.jar...

Tomcat和JDK版本的对应关系

当我们在谈论Tomcat与JDK版本的对应关系的时候,我们实际上在讨论两个问题。 第一个是,我们想安装了某个版本的Tomcat(比如Tomcat7),需要安装哪个版本的JDK,才能把Tomcat运行起来。 第二个是,如果我们安装某个Tomcat+JDK组合(比如Tomcat7+JDK1.7),能否把我们某个版本JDK(比如JDK1.6)编写的网站给运行起来...