diff --git a/api/bifang_init.sh b/api/bifang_init.sh deleted file mode 100644 index 9808265..0000000 --- a/api/bifang_init.sh +++ /dev/null @@ -1,785 +0,0 @@ -#!/bin/bash -#------------------------------------------------------- -CUR_PRGDIR=`pwd` -#Read profile -PROP_FILE="$CUR_PRGDIR/bifang_init_param.conf" -prop_value="" -#---------------------------read file--------------------------------------------------- -#echo $CUR_PRGDIR -function read_file(){ - if [ $# != 2 ] - then - echo "usage: read_file [prop_name][must_input_flag]" - exit 0 - fi - prop_name="$1" - must_input_flag="$2" - if [ -z "$(cat $PROP_FILE |grep $prop_name)" ] - then - prop_value="" - else - temp=`sed -n "/^[ \t]*$prop_name[ \t]*[=].*/p" $PROP_FILE` - prop_value=`echo ${temp#*=}| sed 's/^[ \t]*//g'|sed 's/[ \t]*$//g'|sed 's/\r//'` - fi - if [ "$must_input_flag" = "y" ] - then - if [ -z "$prop_value" ] - then - echo -n "${prop_name} can not be empty!" - exit 0 - fi - fi -} - -read_file "db_name" "n" -db_name="$prop_value" -#-----------------------------------Parameter acquisition------------------------------------------------ -read_file "minio_url" "y" -minio_url="$prop_value" -read_file "minio_accessKey" "y" -minio_accessKey="$prop_value" -read_file "minio_secretKey" "y" -minio_secretKey="$prop_value" -read_file "minio_bucketName" "y" -minio_bucketName="$prop_value" -read_file "api_port" "n" -api_port="$prop_value" -read_file "yh_data_url_log" "y" -yh_data_url_log="$prop_value" -#-------------------------------------------------------- -read_file "time_zone" "n" -time_zone="$prop_value" -read_file "consul_ip" "n" -consul_ip="$prop_value" -read_file "consul_port" "n" -consul_port="$prop_value" -#--------------------------------kafka------------------------------------------- -read_file "kafka_servers" "y" -kafka_servers="$prop_value" -read_file "kafka_groupid" "n" -kafka_groupid="$prop_value" -#------------------------t_sys_cfg parameter---------------------------------------- -read_file "influx_password" "n" -influx_password="$prop_value" -read_file "influx_user" "n" -influx_user="$prop_value" -read_file "influx_url" "n" -influx_url="$prop_value" -read_file "influx_database" "n" -influx_database="$prop_value" -read_file "oam_api_address" "n" -oam_api_address="$prop_value" -read_file "token_timeout" "n" -token_timeout="$prop_value" -#----------------------------------Modify file parameters------------------------------------------------------- -#---------------Modify time zone----- -update_time(){ - api_time=/home/docker/bifang/api/Dockerfile - api_dep=/home/docker/bifang/api/deploy-api.sh - syn_time=/home/docker/bifang/syncredis/Dockerfile - subid_time=/home/docker/bifang/webfocus/Dockerfile - sed -i "s%port=.*%port=$api_port%g" $api_dep - sed -i "s%ENV TimeZone=.*%ENV TimeZone=$time_zone%g" $api_time - sed -i "s%ENV TimeZone=.*%ENV TimeZone=$time_zone%g" $syn_time - sed -i "s%ENV TimeZone=.*%ENV TimeZone=$time_zone%g" $subid_time - sed -i 's/\r$//' $api_dep - sed -i 's/\r$//' $api_time - sed -i 's/\r$//' $syn_time - sed -i 's/\r$//' $subid_time -} - -update_file(){ -#--------------------------------Modify related file parameters--------------------------------------------------------- -api_config=/home/docker/bifang/api/config/application-dev.properties -syn_config=/home/docker/bifang/syncredis/config/application-dev.properties -webfocus_config=/home/docker/bifang/webfocus/config/application-dev.properties -fqdn_config=/home/docker/categoryinit/config.properties -#---------------------------------Modify API profile------------------------ -sed -i "s%spring.datasource.url=.*%spring.datasource.url=jdbc:mysql://mariadb-bifang:$db_port/$db_name?rewriteBatchedStatements=true%g" $api_config -sed -i "s%server.port=.*%server.port=$api_port%g" $api_config - -sed -i "s%spring.kafka.bootstrap-servers=.*%spring.kafka.bootstrap-servers=$kafka_servers%g" $api_config -sed -i "s%kafka.consumer.group.id=.*%kafka.consumer.group.id=$kafka_groupid%g" $api_config - -if [ -n "$consul_ip" ]; then - sed -i "s%consul.ip=.*%consul.ip=$consul_ip%g" $api_config -fi -if [ -n "$consul_port" ]; then - sed -i "s%consul.port=.*%consul.port=$consul_port%g" $api_config -fi - -#----------------------------------Modify synchronization service profile---------------------------------------------------------------------- -sed -i "s%spring.datasource.url=.*%spring.datasource.url=jdbc:mysql://mariadb-bifang:$db_port/$db_name?rewriteBatchedStatements=true%g" $syn_config -#-----------------------------------Modify mapping service profile--------------------------------------------------------------------------------------------- -sed -i "s%spring.datasource.url=.*%spring.datasource.url=jdbc:mysql://mariadb-bifang:$db_port/$db_name?rewriteBatchedStatements=true%g" $webfocus_config -sed -i "s%spring.kafka.bootstrap-servers=.*%spring.kafka.bootstrap-servers=$kafka_servers%g" $webfocus_config -#------------------------------------Modify service classification profile-------------------------------------------------------------------------------------------------------------- -sed -i "s%url=.*true%url=jdbc:mysql://mariadb-bifang:$db_port/$db_name?rewriteBatchedStatements=true%g" $fqdn_config -sed -i "s%password=.*%password=$db_pwd%g" $fqdn_config -sed -i "s%fileResource=.*%fileResource=/home/ceiec/bifang/category/clf%g" $fqdn_config -#------------------------------------------------------------------------------------------------------------------------ -bf_nginx=/home/docker/bifang/bifang-html/nginx.conf -sed -i "s%server.*weight.*;%server bifang-api:$api_port weight=5;%g" $bf_nginx -#-------------------------------------Modify script configuration parameters--------------------------------------------------------------------------------------------------- - -bifang_init=/home/docker/db_init/bifang_init.sh - -create_db=/home/docker/db_init/create_db.sh -sed -i "s%CACERT_URL=.*%CACERT_URL='http://127.0.0.1/v1/policy/profile/trustedcacertobj'%g" $bifang_init -sed -i "s%KEYRING_URL=.*%KEYRING_URL='http://127.0.0.1/v1/policy/profile/keyringobj'%g" $bifang_init -sed -i "s%TOKEN_URL=.*/v1%TOKEN_URL='http://127.0.0.1/v1%g" $bifang_init - -sed -i "s%DB_HOST=.*%DB_HOST=127.0.0.1%g" $bifang_init -sed -i "s%DB_PWD=.*%DB_PWD=$db_pwd%g" $bifang_init -sed -i "s%DB_NAME=.*%DB_NAME=$db_name%g" $bifang_init - -db_data=\'\`${db_name}\`\' -sed -i "s%DB_DATA=.*%DB_DATA=$db_data%g" $create_db -sed -i "s%DB_NAME=.*%DB_NAME=$db_name%g" $create_db -sed -i "s%DB_PWD=.*%DB_PWD=$db_pwd%g" $create_db - -sed -i 's/\r$//' $bf_nginx -sed -i 's/\r$//' $create_db -sed -i 's/\r$//' $bifang_init -sed -i 's/\r$//' $fqdn_config -sed -i 's/\r$//' $webfocus_config -sed -i 's/\r$//' $syn_config -sed -i 's/\r$//' $api_config - update_time -} -#---------------------------docker install------------------------------------- -install_redis_mariadb () { -netwokr_d=`docker network ls|grep tsg ` -if [ $? -ne 0 ] -then -echo "[`date '+%Y-%m-%d %T'`] Create docker container network" - docker network create -d bridge tsg -fi - -if [ -d "/home/device/mariadb" ]; - then - echo "----------------------------------------------------------------------" - else - echo "[`date '+%Y-%m-%d %T'`] Start extracting device files" - unzip device.zip -d /home -fi - -mariadb_file=/home/device/mariadb/docker-compose.yml -sed -i "s%.*MYSQL_ROOT_PASSWORD=.*% - MYSQL_ROOT_PASSWORD=$db_pwd%g" $mariadb_file -sed -i "s%.*:3306% - $db_port:3306%g" $mariadb_file -sed -i 's/\r$//' $mariadb_file - -#mariadb Mirror file -mariadb=`docker images|grep mariadb* ` -if [ $? -ne 0 ] -then -echo "[`date '+%Y-%m-%d %T'`] Import mariadb Mirror file" - d_mysql=`cd /home/device/mariadb/ && docker load -i mariadb.tar` -fi -mariadb_ps=`docker ps|grep mariadb* ` -if [ $? -ne 0 ] -then - echo "[`date '+%Y-%m-%d %T'`] start-up mariadb Mirror file" - up_mysql=`cd /home/device/mariadb/ && docker-compose up -d` -fi -sleep 10s -#redis Mirror file -redis=`docker images|grep redis* ` -if [ $? -ne 0 ] -then -echo "[`date '+%Y-%m-%d %T'`] Import redis Mirror file" - d_redis=`cd /home/device/redis/ && docker load -i redis.tar` -fi - -redis_ps=`docker ps|grep redis* ` -if [ $? -ne 0 ] -then -echo "[`date '+%Y-%m-%d %T'`] start-up redis Mirror file" - up_redis=`cd /home/device/redis/ && docker-compose up -d` -fi -sleep 10s -} - -docker_start () { -which "docker" > /dev/null -if [ $? -eq 0 ] -then - echo "-----------------docker already installed-------------------" -else - echo "[`date '+%Y-%m-%d %T'`] Start installation docker" - dockerPath=/home/docker/docker_init/docker-deploy.sh - d_docker=`cd /home/docker/docker_init/ && ./docker-deploy.sh` - which "docker" > /dev/null - if [ $? -eq 0 ] - then - echo "[`date '+%Y-%m-%d %T'`] docker Successful installation" - systemctl enable docker - fi -fi - -which "docker-compose" > /dev/null -if [ $? -eq 0 ] - then - echo "---------docker-compose Already exist-------------" - else - echo "[`date '+%Y-%m-%d %T'`] Start installation docker-compose" - cp /home/docker/docker_init/docker-compose /usr/local/bin/ - chmod +x /usr/local/bin/docker-compose -fi - install_redis_mariadb - } - - -#------------------------------------Decompress jar package related files----------------------------- -u_api=/home/bifang/api/ -u_syn=/home/bifang/syncredis/ -u_suid=/home/bifang/webfocus/ - -dk_api=/home/docker/bifang/api/ -dk_syn=/home/docker/bifang/syncredis/ -dk_suid=/home/docker/bifang/webfocus/ -api_n=bifang-api.jar -syn_n=syncConfigToRedis.jar -suid_n=mapping-subid-ip.jar -dk_back=/home/docker/bifang/api_back/ - -unzip_jar(){ - if [ $# != 3 ] && [ $# != 4 ] - then - echo "usage: unzip_jar [no_api][cp_path] [jar_name] [back]" - exit 0 - fi - no_api=$1 - cp_path=$2 - jar_name=$3 - back_api=$4 - if [ -f "$no_api/$jar_name" ];then - read -p "$no_api/$jar_name The file already exists. Do you want to replace it y/n:" jary - if [ $jary = "y" ];then - if [ $back_api = 1 ];then - if [ ! -d "$dk_back" ];then - mkdir -p $dk_back - fi - starttime=`date +'%Y%m%d%H%M%S'` - cp $no_api/$jar_name $dk_back/bifang_api_$starttime.jar - fi - rm -rf $no_api/$jar_name - unzip_jar $no_api $cp_path $jar_name - fi - else - if [ -d "$cp_path" ];then - cp -r $cp_path/* $no_api - else - echo "[`date '+%Y-%m-%d %T'`] Unzip the bifang.zip compressed file" - unzip bifang.zip -d /home - cp -r $cp_path/* $no_api - fi - fi -} - -#------------------------------------Image file installation------------------------------------------------------- -dockerInit(){ - update_cfg -docker_count=`ps -ef|grep docker|grep -v grep` -if [ $? -ne 0 ];then - echo "[`date '+%Y-%m-%d %T'`] Start docker service" - systemctl stop docker - systemctl start docker -fi -centos=`docker images|grep centos* ` -if [ $? -ne 0 ] -then -echo "[`date '+%Y-%m-%d %T'`] Import centos-bifang image file" - d_centos=`cd /home/docker/centos/ && docker load -i centos-bifang.tar` -fi -jdk=`docker images|grep jdk* ` -if [ $? -ne 0 ] -then -echo "[`date '+%Y-%m-%d %T'`] Install the JDK image file" - d_jdk=`cd /home/docker/jdk && docker build -t jdk:1.8.0_73 .` -fi -nginx=`docker images|grep nginx* ` -if [ $? -ne 0 ] -then -echo "[`date '+%Y-%m-%d %T'`] Install nginx image file" - d_nginx=`cd /home/docker/bifang/nginx/ && docker load -i nginx.tar` -fi -echo "[`date '+%Y-%m-%d %T'`] Install and start api service" - d_api=`cd /home/docker/bifang/api/ && ./deploy-api.sh deployImagesAndStartContainer` -echo "[`date '+%Y-%m-%d %T'`] Install and start bifang-html" - d_ui=`cd /home/docker/bifang/bifang-html/ && ./deploy-bifangHtml.sh deployImagesAndStartContainer` -echo "[`date '+%Y-%m-%d %T'`] Install and start syncredis service" - d_syn=`cd /home/docker/bifang/syncredis/ && ./deploy-syncredis.sh deployImagesAndStartContainer` -echo "[`date '+%Y-%m-%d %T'`] Install and start mapping-subid-ip service" - d_subid=`cd /home/docker/bifang/webfocus/ && ./deploy-webfocus.sh deployImagesAndStartContainer` - cp_html - api_check -} - -cp_html(){ - ui_path=/home/ceiec/bifang/ui/bifang-html - dk_ui=/home/bifang/bifang-html - dk_html=/home/docker/bifang/ui_back/ - if [ ! -d "$ui_path/static" ];then - if [ -d "$dk_ui/static" ];then - cp -r $dk_ui/* $ui_path/ - fi - else - read -p "UI interface file already exists, do you want to replace it y/n:" htmly - if [ $htmly = "y" ];then - if [ ! -d "$dk_html" ];then - mkdir -p $dk_html - fi - starttime=`date +'%Y%m%d%H%M%S'` - zip -q -r $dk_html/html_$starttime.zip $ui_path/* - rm -rf $ui_path/* - cp_html - fi - fi -} - -api_check(){ - echo "[`date '+%Y-%m-%d %T'`] Check whether API service starts successfully。。。" - sleep 1m - #TOKEN 获取接口URL - TOKEN_URL="http://127.0.0.1/v1/user/login?username=admin&password=admin" - TOKEN=$(curl -s -X POST $TOKEN_URL|grep 'token'|awk -F':' '{print $2}'|awk -F'"' '{print $2}') - echo "user login,token:${TOKEN}" - if [ -z "$TOKEN" ]; then - echo "[`date '+%Y-%m-%d %T'`] API service token acquisition failed" - read -p "(Note: if the API service starts slowly, it will fail to get the token. You can get it again) Please confirm whether to get it again token y/n:" api_token - if [ $api_token = 'y' ];then - api_check - else - echo "After checking the API service log(log Catalog /home/ceiec/bifang/api/logs),Re execute script" - fi - else - echo "[`date '+%Y-%m-%d %T'`] API service started successfully" - cer_sql="select count(*) as '' from pxy_profile_trusted_ca_cert" - cert_count=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${cer_sql}"` - if [ $cert_count -gt 5 ];then - category_init - else - cert_init - fi - fi -} - - -#--------------------------------Extract docker file-------------------------------------- -unzip_inIt(){ - echo "[`date '+%Y-%m-%d %T'`] Start extracting docker file" - unzip docker.zip -d /home - if [ $? -eq 0 ] - then - echo "[`date '+%Y-%m-%d %T'`] Decompression complete" - unzip_jar $dk_api $u_api $api_n 0 - unzip_jar $dk_syn $u_syn $syn_n 0 - unzip_jar $dk_suid $u_suid $suid_n 0 - - find /home/docker/* -name "*.sh" -type f -exec chmod 755 \{\} \; - - docker_start - - config - else - echo "[`date '+%Y-%m-%d %T'`] Decompression failed" - fi -} - -#-------------------------------Modify t_sys_cfg parameters------------------------------- -update_cfg(){ - if [ -n "$yh_data_url_log" ]; then - yh_sql="update t_sys_cfg set cfg_value='$yh_data_url_log' where cfg_name='yh_data_url_log'" - db_yh=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${yh_sql}"` - fi - - if [ -n "$influx_password" ]; then - ipwd_sql="update t_sys_cfg set cfg_value='$influx_password' where cfg_name='influx_password'" - db_ipwd=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${ipwd_sql}"` - fi - - if [ -n "$influx_user" ]; then - iusr_sql="update t_sys_cfg set cfg_value='$influx_user' where cfg_name='influx_user'" - db_iusr=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${iusr_sql}"` - fi - - if [ -n "$influx_url" ]; then - iurl_sql="update t_sys_cfg set cfg_value='$influx_url' where cfg_name='influx_url'" - db_iurl=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${iurl_sql}"` - fi - - if [ -n "$influx_database" ]; then - idb_sql="update t_sys_cfg set cfg_value='$influx_database' where cfg_name='influx_database'" - db_idb=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${idb_sql}"` - fi - - if [ -n "$oam_api_address" ]; then - oam_sql="update t_sys_cfg set cfg_value='$oam_api_address' where cfg_name='oam_api_address'" - db_oam=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${oam_sql}"` - fi - - - if [ -z "$token_timeout" ]; then - token_timeout=1800 - fi - - token_sql="update t_sys_cfg set cfg_value='$token_timeout' where cfg_name='token_timeout'" - db_token=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${token_sql}"` - - murl="update t_sys_cfg set cfg_value='$minio_url' where cfg_name='minio_url';update t_sys_cfg set cfg_value='$minio_accessKey' where cfg_name='minio_accessKey';update t_sys_cfg set cfg_value='$minio_secretKey' where cfg_name='minio_secretKey';update t_sys_cfg set cfg_value='$minio_bucketName' where cfg_name='minio_bucketName'" - db_m=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${murl}"` -} - -#------------------------------Certificate initialization----------------------------------- -cert_init(){ - -echo "[`date '+%Y-%m-%d %T'`] Certificate initialization" - d_cert=`cd /home/docker/db_init && ./bifang_init.sh` - cert_falg=`grep -i "true" /home/ceiec/bifang/init.log|wc -l` - if [ $cert_falg -gt 0 ];then - cert_f=`grep -i "false" /home/ceiec/bifang/init.log|wc -l` - if [ $cert_f -gt 0 ];then - echo "[`date '+%Y-%m-%d %T'`] minio parameter Account :$minio_accessKey Password :$minio_secretKey url:$minio_url " - echo "[`date '+%Y-%m-%d %T'`] The initial certificate is abnormal. Please check whether the $minio_bucketName bucket in Minio is created and whether the read-write permission is added" - minio_err - else - echo "[`date '+%Y-%m-%d %T'`] Certificate initialization Execution completed" - category_init - fi - else - echo "[`date '+%Y-%m-%d %T'`] minio parameter Account :$minio_accessKey Password :$minio_secretKey url:$minio_url " - echo "The initial certificate is abnormal. Please check whether the $minio_bucketName bucket in Minio is created and whether the read-write permission is added" - minio_err - fi - -} - -minio_err(){ - echo "1、Reexecute initialization certificate" - echo "2、Skip certificate initialization and proceed to the next step" - read -p "Please enter the above number to perform the operation:" mnum - rm -rf /home/ceiec/bifang/init.log - if [ $mnum -eq "1" ];then - cert_init - elif [ $mnum -eq "2" ];then - category_init - else - echo "Please input again as follows" - minio_err - fi -} - -category_init(){ - fqdn_sql="select count(*) as '' from tsg_obj_fqdn_cat" - fqdns=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${fqdn_sql}"` - if [ $fqdns -gt 5 ];then - echo "Script Execution completed" - else - echo "[`date '+%Y-%m-%d %T'`] Classification service initialization" - echo "[`date '+%Y-%m-%d %T'`] Install and start the service categorizer" - d_sync=`cd /home/docker/categoryinit && ./deploy-category.sh deployImagesAndStartContainer` - echo "[`date '+%Y-%m-%d %T'`] Service classification data initialization in progress。。。" - sleep 1m - fqdn_count=`mysql -h127.0.0.1 -uroot -p$db_pwd $db_name -P$db_port -e "${fqdn_sql}"` - if [ $fqdn_count -gt 5 ];then - echo "Script Execution completed" - else - echo "Service classification initialization failed" - fi - - fi -} - -#---------------------------------Create database------------------------------------------------- -db_init(){ - db_care=`mysql -h127.0.0.1 -uroot -p$db_pwd -P$db_port -e "use $db_name"` - if [ $? -eq 0 ];then - read -p "Database $db_name already exists, do you want to recreate and overwrite this database y/n:" dby - if [ $dby = "y" ];then - echo "[`date '+%Y-%m-%d %T'`] Create $db_name database" - db_in=`cd /home/docker/db_init/ && ./create_db.sh` - echo "$db_in" - dockerInit - else - dockerInit - fi - else - echo "[`date '+%Y-%m-%d %T'`] Create $db_name database" - db_in=`cd /home/docker/db_init/ && ./create_db.sh` - echo "$db_in" - dockerInit - fi -} - -#-----------------------------------Check Minio parameters----------------------------------------- -m_check(){ - minurl=$(curl -X POST --header "Accept: */*" -H "Content-Type: application/json" --data '{"id": 1,"jsonrpc": "2.0", "params": {"username": "'"$minio_accessKey"'", "password": "'"$minio_secretKey"'"},"method": "Web.Login" }' ''"$minio_url/minio/webrpc"'') - result=$(echo $minurl|grep 'token'|awk -F'token":"' '{print $2}'|awk -F'",' '{print $1}') - if [[ $result != "" ]];then - echo "[`date '+%Y-%m-%d %T'`] Minio connection parameters are normal" - update_file - else - echo "[`date '+%Y-%m-%d %T'`] minio parameter account:$minio_accessKey password:$minio_secretKey URL:$minio_url " - mess=$(echo $minurl|grep 'message'|awk -F'message":"' '{print $2}'|awk -F'",' '{print $1}') - if [ -z "$mess" ]; then - echo "[`date '+%Y-%m-%d %T'`] Mini parameter connection failed" - else - echo "[`date '+%Y-%m-%d %T'`] The connection of Minio parameter is abnormal:$mess" - fi - read -p "Please re-enter the account password URL of Mino, enter the number 1 to skip the detection and continue with the next steps:" m_accessKey m_secretKey m_url - if [ $m_accessKey = 1 ];then - echo "[`date '+%Y-%m-%d %T'`] Skip Minio detection" - update_file - else - minio_url=$m_url - minio_accessKey=$m_accessKey - minio_secretKey=$m_secretKey - m_check - fi - fi -} - -redad_contans(){ -db_pwd=bfzdjizhi -db_port=3306 -if [ -z "$db_name" ]; then - db_name=tsg-bifang - fi - if [ -z "$time_zone" ]; then - time_zone=`timedatectl | grep Time |awk -F'zone: ' '{print $2}'|awk -F'(' '{print $1}'` - fi - if [ -z "$api_port" ]; then - api_port=8080 - fi - if [ -z "$kafka_groupid" ]; then - kafka_groupid=tsg-consumer-cert - fi -} - -config(){ - dbmysql=0 - which "mysql" > /dev/null - if [ $? -eq 0 ];then - m_check - db_init - else - echo "[`date '+%Y-%m-%d %T'`] Install MySQL client service" - rpm -ivh /home/docker/db_init/db-client/*.rpm --force --nodeps - which "mysql" > /dev/null - if [ $? -eq 0 ];then - echo "[`date '+%Y-%m-%d %T'`] MySQL client service installed successfully" - m_check - db_init - else - echo "[`date '+%Y-%m-%d %T'`] MySQL client service offline installation failed" - echo "[`date '+%Y-%m-%d %T'`] MySQL client online installation" - yum install mysql -y - which "mysql" > /dev/null - if [ $? -eq 0 ];then - echo "[`date '+%Y-%m-%d %T'`] MySQL client service installed successfully" - m_check - db_init - else - dbmysql=1 - echo "[`date '+%Y-%m-%d %T'`] MySQL Online installation of client service failed. Please install MySQL remote client manually and try again" - fi - fi - fi -} - - -bifang_init_start(){ - redad_contans - if [ -d "/home/docker" ]; - then - read -p "[`date '+%Y-%m-%d %T'`] docker The directory already exists. Please confirm whether to delete it and extract the file again y/n :" ziInit - if [ $ziInit = "y" ];then - rm -rf /home/docker - unzip_inIt - else - find /home/docker/* -name "*.sh" -type f -exec chmod 755 \{\} \; - unzip_jar $dk_api $u_api $api_n 0 - unzip_jar $dk_syn $u_syn $syn_n 0 - unzip_jar $dk_suid $u_suid $suid_n 0 - echo "[`date '+%Y-%m-%d %T'`] Start checking environment configuration" - docker_start - echo "[`date '+%Y-%m-%d %T'`] Start checking bifang_init_param.conf configuration file parameters" - config - fi - else - unzip_inIt - fi -} - -update_ui(){ - bf_nginx=/home/docker/bifang/bifang-html/nginx.conf - if [ -f "$bf_nginx" ];then - read -p "Please enter the service address of the UI interface to access the API, and the primary access IP address :" api_nginx back_nginx - sed -i "s%server.*weight.*;%server $api_nginx weight=5;%g" $bf_nginx - if [ -n "$back_nginx" ]; then - sed -i "s%server.*:.*backup;%server $back_nginx backup;%g" $bf_nginx - fi - sed -i 's/\r$//' $bf_nginx - echo "Bi Fang API service is restarting" - d_ui=`cd /home/docker/bifang/bifang-html/ && ./deploy-bifangHtml.sh deployImagesAndStartContainer` - echo "Bi Fang API service started successfully" - else - echo "Please install API service and try again!" - fi -} -update_api(){ - echo "1、Update API service jar(Please put the file in /home/bifang/api/)" - echo "2、Update synchronization service(Please put the file in /home/bifang/syncredis/)" - echo "3、Update UI interface file(Please put the file in /home/bifang/bifang-html/)" - read -p "Please enter the above number to perform the operation:" api_num - if [ -d "$dk_api" ];then - if [ $api_num = 1 ];then - unzip_jar $dk_api $u_api $api_n 1 - echo "Bi Fang API service is restarting" - d_api=`cd /home/docker/bifang/api/ && ./deploy-api.sh deployImagesAndStartContainer` - sleep 2m - echo "Bi Fang API service started" - elif [ $api_num = 2 ];then - unzip_jar $dk_syn $u_syn $syn_n 0 - echo "The synchronization service of Bi Fang is being restarted" - d_api=`cd /home/docker/bifang/syncredis/ && ./deploy-syncredis.sh deployImagesAndStartContainer` - sleep 1m - echo "Start of Bi Fang synchronization service completed" - elif [ $api_num = 3 ];then - cp_html - echo "Bi Fang UI update completed" - else - echo "Exit operation!" - fi - else - echo "Please install API service and try again!" - fi -} - -deldocker(){ - echo "Stop all docker containers" - docker stop $(docker ps -a -q) - echo "Delete all stopped docker containers" - docker rm -f $(docker ps -aq) -} - -del_docker(){ - echo "1、Delete the docker image file with < none > exception" - echo "2、Delete all docker image files" - read -p "Please input the above digital operation:" dk_num - if [ $dk_num = 1 ];then - none=`docker images|grep none|wc -l` - if [ $none -gt 0 ];then - deldocker - echo "Delete all tag tags as the image of none" - docker images|grep none|awk '{print $3 }'|xargs docker rmi - echo "Delete successfully! Please reinstall the API service" - echo "-------------------------------operation list---------------------------------------" - bf_start - else - echo "There is no docker image file with < none > exception" - fi - elif [ $dk_num = 2 ];then - deldocker - echo "Delete all docker image files" - docker rmi $(docker images -q) - echo "Delete successfully! Please reinstall the API service" - echo "-------------------------------operation list---------------------------------------" - bf_start - else - del_docker - fi -} - -up_network(){ - echo "Detect docker network environment" - docker_ipv=$( cat /usr/lib/sysctl.d/00-system.conf |grep net.ipv4.ip_forward=1|wc -l ) - if [ $docker_ipv = 0 ] - then - echo "net.ipv4.ip_forward=1" >> /usr/lib/sysctl.d/00-system.conf - echo "Restart network service" - service network restart - which "docker" > /dev/null - if [ $? -eq 0 ] - then - echo "Restart docker service" - systemctl restart docker - echo "Execution completed!" - else - echo "Execution completed!" - fi - else - echo "Detection completed!" - fi -} - -api_uninstall(){ - echo "Cleaning up。。。" - rm -rf /home/docker - rm -rf /home/bifang - rm -rf /home/ceiec/bifang - cp -r /home/ceiec/mariadb /home/ceiec/mariadb_back - rm -rf /home/ceiec/mariadb - rm -rf /home/ceiec/reids - deldocker - echo "Delete all docker image files" - docker rmi $(docker images -q) - echo "Delete successfully! Please reinstall the API service" -} - -kill_port(){ - read -p "Please enter the port number to stop:" kport - for i in `lsof -i tcp:$kport | awk '{print $2}' | grep -v 'PID'`; - do kill -9 $i - done - echo "Port $kport stopped" -} - -bf_start(){ - echo "1、Install and deploy API service" - echo "2、Adjust UI API access address" - echo "3、Update API service" - echo "------------------------------Handling of common problems--------------------------------------------" - echo "a、Delete docker image file (there are image files of < none >)" - echo "b、Network disable docker image installation exception(IPv4 forwarding is disabled. Networking will not work.)" - echo "c、docker port occupation error" - echo "d、One click deletion (delete the extracted docker, Bifang directory and docker image file)" - echo "------------------------------------------------------------------------------" - read -p "Please enter the above number to perform the operation:" db_num - if [ $db_num = "1" ];then - up_network - bifang_init_start - elif [ $db_num = "2" ];then - update_ui - elif [ $db_num = "3" ];then - echo "------------------------Update service catalog----------------------------" - update_api - elif [ $db_num = "a" ];then - which "docker" > /dev/null - if [ $? -eq 0 ] - then - del_docker - else - echo "Docker service does not exist, please install API service first" - fi - elif [ $db_num = "b" ];then - up_network - elif [ $db_num = "c" ];then - kill_port - elif [ $db_num = "d" ];then - which "docker" > /dev/null - if [ $? -eq 0 ] - then - api_uninstall - else - echo "Docker service does not exist, please install API service first" - fi - else - echo "-------------------------------operation list---------------------------------------" - bf_start - fi -} -echo "-------------------------------operation list---------------------------------------" -bf_start -