Skip to content

DataEase可视化分析

restcloud.zip

ROOT
apache-tomcat-9.0.68.tar.gz
jdk-8u333-linux-x64.tar.gz
mongo_init.js
mongodb-linux-x86_64-rhel70-4.2.24.tgz
restcloud_install.sh

mongo_init.js

js
try{

    if(db.system.users.find({'user':'admin'}).count() == 0){
        print('准备添加admin用户');
        db.createUser(
            {
            user: "admin",
            pwd: "pass@2022",
            roles:['readWriteAnyDatabase','dbAdminAnyDatabase']
            }
        ) ;
    }else{
        print('已经存在admin用户')
    }
	
	if(db.system.users.find({'user':'root'}).count() == 0){
        print('准备添加root用户');
        db.createUser(
            {
            user: "root",
            pwd: "root@2022",
            roles:['root']
            }
        ) ;
    }else{
        print('已经存在root用户')
    }
}catch(err){
    print('创建用户错误:'+err);
}

restcloud_install.sh

sh
#! /bin/bash
set -e
#将jdk、tomcat、ROOT.war和mongo的安装包和此脚本文件放在同一个目录下
jdk_name=jdk-8u333-linux-x64.tar.gz
tomcat_name=apache-tomcat-9.0.68.tar.gz
mongo_name=mongodb-linux-x86_64-rhel70-4.2.24.tgz
jdk_dir=jdk1.8.0_333
tomcat_dir=apache-tomcat-9.0.68
mongo_dir=mongodb-linux-x86_64-rhel70-4.2.24
jdk_path=/usr/jdk
tomcat_path=/usr/tomcat
mongo_path=/data/mongodb


#安装Mongo
echo -e "安装mongo-------------"
if [ -e $mongo_name ];then
    if [ -d $mongo_path ];then
        echo "已存在mongo目录${mongo_path},选择执行后续操作: 1、跳过安装包解压 2、退出安装"
        read mongo_option
        if [ $mongo_option -eq 1 ];then
            echo "跳过mongo的解压安装"
        elif [ $mongo_option -eq 2 ];then
            exit            
        else
            echo "所选操作未能识别,退出安装。"
            exit
        fi
    else
        echo "解压安装包-----"
        tar -zxvf $mongo_name $1> /dev/null
        echo "开始安装-----"
        mkdir -p $mongo_path
        mv $mongo_dir/* $mongo_path
        mkdir -p $mongo_path/db
        mkdir -p $mongo_path/logs
        touch $mongo_path/logs/mongodb.log
        touch $mongo_path/bin/mongodb.conf
        echo "开始导入配置----"
cat > $mongo_path/bin/mongodb.conf << EOF
bind_ip=0.0.0.0
port=27017
logappend=true
logpath=$mongo_path/logs/mongodb.log
dbpath=$mongo_path/db
fork=true
#auth=true
EOF
    fi

if [ -e /usr/lib/systemd/system/mongodb.service ];then
    rm -f /usr/lib/systemd/system/mongodb.service
else
cat > /usr/lib/systemd/system/mongodb.service << EOF
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=$mongo_path/bin/mongod --config $mongo_path/bin/mongodb.conf
ExecReload=/bin/kill -s HUP \$MAINPID
ExecStop=$mongo_path/bin/mongod --shutdown --config $mongo_path/bin/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

chmod 754 /usr/lib/systemd/system/mongodb.service

echo "mongo加入开机自启"
systemctl daemon-reload
systemctl enable mongodb
echo "启动mongodb-------"
systemctl start mongodb
fi

echo "添加mongo用户"
$mongo_path/bin/mongo 127.0.0.1:27017/admin mongo_init.js

authline=$(grep -n "auth" ${mongo_path}/bin/mongodb.conf |cut -f1 -d":")
sed -i "${authline}c auth=true" ${mongo_path}/bin/mongodb.conf

echo "重启mongo"
systemctl restart mongodb
echo "mongo安装完成------"
else
    echo "未检测到mongo安装包,请把安装到放到安装脚本目录下"
fi



#安装jdk
echo -e "准备安装jdk-------------"
if [ -e $jdk_name ];then

    if [ -d $jdk_path ];then
        echo "已存在jdk目录${jdk_path},选择后续执行操作:1、删除后继续安装(注意删除后不可恢复!!!) 2、跳过安装包解压 3、退出安装"
        read jdk_option
        if [ $jdk_option -eq 1 ];then
            echo "删除文件重新安装-----"
            rm -rf $jdk_path
            echo "解压安装包-----"
            tar -zxvf $jdk_name $1> /dev/null
            mv $jdk_dir $jdk_path
        elif [ $jdk_option -eq 2 ];then
            echo "跳过jdk的解压安装"
        elif [ $jdk_option -eq 3];then
            exit
        else
            echo "所选操作未能识别,退出安装。"
            exit
        fi
    else
        echo "解压安装包-----"
        tar -zxvf $jdk_name $1> /dev/null
        mv $jdk_dir $jdk_path
    fi
    
#关闭错误退出,不然无法获取命令执行结果
set +e
echo "正在配置jdk环境变量-----"
jdk_env=$(grep "JAVA_HOME=${jdk_path}" /etc/profile)
if [ "$jdk_env" = "JAVA_HOME=${jdk_path}" ];then
    echo "在/etc/profile已存在jdk环境变量,跳过配置"
else
cat >> /etc/profile << EOF
JAVA_HOME=$jdk_path
PATH=\$JAVA_HOME/bin:\$PATH
CLASSPATH=:.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
EOF

set -e
source /etc/profile
fi
    java -version
    if [ $? -eq 0 ];then
        echo -e "jdk安装完成。"
    else
        echo -e "jdk安装失败,请检查原因并把$jdk_path的文件进行删除后重试"
    fi
else
    echo "未检测到JDK安装包,请把安装包放到安装脚本目录下!!"
fi

#安装tomcat
echo "准备安装tomcat----------"
if [ -e $tomcat_name ];then
    if [ -d $tomcat_path ];then
        echo "已存在tomcat目录${tomcat_path},选择后续执行操作:1、删除后继续安装(注意删除后不可恢复!!!) 2、跳过安装包解压 3、退出安装"
        read tomcat_option
        if [ $tomcat_option -eq 1 ];then
            echo "删除文件重新安装-----"
            rm -rf $tomcat_path
            echo "解压安装包-----"
            tar -zxvf $tomcat_name $1> /dev/null
            mv $tomcat_dir $tomcat_path
            rm -rf $tomcat_path/webapps/*
        elif [ $tomcat_option -eq 2 ];then
            echo "跳过tomcat的解压安装"
        elif [ $tomcat_option -eq 3];then
            exit
        else
            echo "所选操作未能识别,退出安装。"
            exit
        fi
    else
        tar -zxvf $tomcat_name $1> /dev/null
        mv $tomcat_dir $tomcat_path
        rm -rf $tomcat_path/webapps/*
    fi

sed -i '2a #set java environment\
export JAVA_HOME='${jdk_path}'\
export JRE_HOME=${JAVA_HOME}/jre\
export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib\
export PATH=${JAVA_HOME}/bin:$PATH\
#tomcat\
export TOMCAT_HOME=/usr/tomcat\
' $tomcat_path/bin/startup.sh
#设置tomcat内存和时间
sed -i '2a JAVA_OPTS="${JAVA_OPTS} -server -Xms2048M -Xmx2048M -XX:PermSize=256M -XX:MaxPermSize=256M"\nJAVA_OPTS="${JAVA_OPTS} -Duser.timezone=GMT+08"' $tomcat_path/bin/catalina.sh

echo "tomcat安装完成"
else
    echo "未检测到tomcat安装包,请把安装包放到安装脚本目录下!!"
fi

echo "准备安装RestCloud iPaaS集成平台-------"
if [ -d ROOT ];then
    mv ROOT $tomcat_path/webapps/
    set +e
    $tomcat_path/bin/startup.sh && tail -f $tomcat_path/logs/catalina.out
    #判断tomcat进程是否启动
    PID=$(ps -ef | grep "tomcat" | grep -v grep | awk '{print $2}')
    if [ -n "$PID" ]; then
        echo "RestCloud iPaaS集成平台安装完成"
    else
        echo "RestCloud iPaaS集成平台安装失败,请查看日志并检查各项属性配置是否正确。"
    fi
else
    echo "未检测到ROOT文件,请把平台安装文件解压为ROOT文件夹放到脚本目录下"
fi
最近更新