jdk 自動化腳本
阿新 • • 發佈:2018-12-07
chmod add groupadd java als 範圍 environ 配置文件 表示
添加沒有登錄權限
需要理解linux用戶,首先登陸的是root用戶,擁有所有的權限,但是該權限太大,一般都會分配其他用戶使用,並且在部署程序時,需要分配一個沒有登錄權限的用戶,這樣改程序不能隨意被修改,如何添加沒有登錄權限的用戶和用戶組如下:
- groupadd groupname
useradd -g groupname username -s /bin/false //-s為默認shell,不給shell,也就不能登錄 - 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功能:
- 解壓腳本
- 當用戶和用戶組不存在時,添加用戶和用戶組
- 添加環境變量並刷新配置文件
uninstall功能:
1.刪除環境變量並刷新配置文件
2.刪除java文件
註意: jdk-8u192-linux-x64.tar.gz文件需要和java.sh放在一起,才能夠完成部署
jdk1.8.0_192是tar解壓之後的文件,這個文件解壓時可以指定,沒有指定,則使用默認文件。
編輯腳本思路
- 編輯該Java腳本思路,首先是需要肯定是要部署一遍,知道部署的步驟,一上來就寫腳本,是肯定不行的
- 理解腳本的語法 : sed ‘/匹配內容/d‘ 文件名 表示刪除某行內容
echo ‘內容‘ >> 文件名 表示向文件追加內容
jdk 自動化腳本