栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux达梦8静默安装软件shell脚本

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux达梦8静默安装软件shell脚本

 需要输入两个参数,第一个参数是绝对路径的安装文件iso文件,第二个参数是绝对路径的key文件。可根据实际情况选择安装路径 base_dir 和 install_dir

#!/bin/bash

# 设置安装参数
install_file=$1
key_file=$2

base_dir=/dameng
install_dir=/dameng/dm8


log=/tmp/dm8_install_software.log

time=`date +"%Y%m%d%H%M%S"`
mntdir=/dm${time}

dir_check(){


info=`df -k|grep -v "${base_dir}/"|grep -w "${base_dir}"|wc -l`
if [ $info -eq 0 ];then
    echo "`date +"%Y-%m-%d %H:%M:%S"` $base_dir is not mounted"
    exit 1
fi


if [ -d $install_dir ];then
    info=`ls -l ${install_dir} | awk -F ' ' '{print$2}'`
    if [ "$info" != "0" ];then
        echo "`date +"%Y-%m-%d %H:%M:%S"` dm software already installed"
        exit 1
    fi
fi

}

user_check(){

GROUPEXIST=`grep dinstall /etc/group|awk -F: '{print $1}'`
if [ -z ${GROUPEXIST} ]; then
    info=`cat /etc/group|awk -F ':' '{print$3}'|grep 1000|wc -l`
    if [ $info -eq 0 ]; then
        /usr/sbin/groupadd -g 1000 dinstall
        if [ $? -eq 0 ]; then
            echo "`date +"%Y-%m-%d %H:%M:%S"` add group dinstall ok"
        else
            echo "`date +"%Y-%m-%d %H:%M:%S"` add group dinstall failed"
            exit 1
        fi
    else
        /usr/sbin/groupadd dinstall
        if [ $? -eq 0 ]; then
            echo "`date +"%Y-%m-%d %H:%M:%S"` add group dinstall ok,but group id is not 1000"
        else
            echo "`date +"%Y-%m-%d %H:%M:%S"` add group dinstall failed"
            exit 1
        fi
    fi
else
    echo "`date +"%Y-%m-%d %H:%M:%S"` group dinstall is ok"
fi


dinstall_group=`cat /etc/group|grep dinstall|awk -F ':' '{print$3}'`


dmdba_pwd=`echo "JVRHQm5qaTkK"|base64 -d`
USEREXIST=`grep dmdba /etc/shadow | awk -F: '{print $1}'`
if [ -z ${USEREXIST} ]; then
    /usr/sbin/useradd -g dinstall -m -d /home/dmdba -s /bin/bash  -u $dinstall_group dmdba && echo "$dmdba_pwd" | passwd dmdba --stdin &>/dev/null
    if [ $? -eq 0 ]; then
        echo "`date +"%Y-%m-%d %H:%M:%S"` add user dmdba ok"
    else
        echo "`date +"%Y-%m-%d %H:%M:%S"` add user dmdba failed"
    exit 1
    fi
else
    echo "`date +"%Y-%m-%d %H:%M:%S"` user dmdba is ok"
fi

}

install_software(){

mkdir -p ${install_dir}
echo "`date +"%Y-%m-%d %H:%M:%S"` mkdir -p ${install_dir}"

mkdir $mntdir
if [ $? == 0 ]; then
    echo "`date +"%Y-%m-%d %H:%M:%S"` mkdir $mntdir ok"
else
    echo "`date +"%Y-%m-%d %H:%M:%S"` mkdir $mntdir fail"
    exit 1
fi

chown dmdba:dinstall -R ${install_dir}
echo "`date +"%Y-%m-%d %H:%M:%S"` chown dmdba:dinstall -R ${install_dir}"


xml_file=/tmp/dm8_install_software.xml

cat > ${xml_file} <

en
+08:00
${key_file}
0
${install_dir}
N

EOF

chown dmdba:dinstall ${xml_file}

echo "`date +"%Y-%m-%d %H:%M:%S"` touch ${xml_file} ok"


mount -o loop ${install_file} $mntdir
if [ $? == 0 ]; then
    echo "`date +"%Y-%m-%d %H:%M:%S"` mount iso file ok"
else
    echo "`date +"%Y-%m-%d %H:%M:%S"` mount iso file failed"
fi


chown dmdba:dinstall ${key_file}
su - dmdba < ${log} 2>&1
    $mntdir/DMInstall.bin -q ${xml_file}
    exit
!
if [ $? == 0 ]; then
    echo "DM software install execute succussfully"
else
    echo "DM software install execute failed"
fi

umount $mntdir
if [ $? == 0 ]; then
    echo "`date +"%Y-%m-%d %H:%M:%S"` umount iso file ok"
else
    echo "`date +"%Y-%m-%d %H:%M:%S"` umount iso file failed"
fi

rmdir $mntdir
if [ $? == 0 ]; then
    echo "`date +"%Y-%m-%d %H:%M:%S"` rmdir $mntdir ok"
else
    echo "`date +"%Y-%m-%d %H:%M:%S"` rmdir $mntdir fail"
fi

sh ${install_dir}/script/root/root_installer.sh
if [ $? == 0 ]; then
    echo "${install_dir}/script/root/root_installer.sh execute succussfully"
else
    echo "${install_dir}/script/root/root_installer.sh execute failed"
    exit 1
fi


}

config_bash_profile(){

user_home=`cat /etc/passwd|grep -w "dmdba"|awk -F ':' '{print$6}'`
cat >> ${user_home}/.bash_profile <

export PATH=$PATH:${install_dir}/bin
stty erase ^H

EOF

if [ $? == 0 ]; then
    echo "`date +"%Y-%m-%d %H:%M:%S"` configure ${user_home}/.bash_profile ok"
else
    echo "`date +"%Y-%m-%d %H:%M:%S"` configure ${user_home}/.bash_profile failed"
fi

}


########################################################################
RUID=`/usr/bin/id|awk -F( '{print $1}'|awk -F= '{print $2}'`
if [ ${RUID} != "0" ];then
    $ECHO "This script must be executed as root"
    exit 1
fi

dir_check
user_check
install_software
config_bash_profile

echo "`date +"%Y-%m-%d %H:%M:%S"` install dm8 software complete"
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/842484.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号