perf: 重构目录结构
This commit is contained in:
38
build/linux/usr/local/etc/omc/script/cpnetools.sh
Normal file
38
build/linux/usr/local/etc/omc/script/cpnetools.sh
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
tooldir=/usr/local/bin
|
||||
toollist="zip unzip"
|
||||
|
||||
# distribute to hosts in file nehosts
|
||||
while read line
|
||||
do
|
||||
if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then
|
||||
continue
|
||||
fi
|
||||
user=`echo $line | cut -d " " -f 2`
|
||||
ip=`echo $line | cut -d " " -f 1`
|
||||
passwd=`echo $line | cut -d " " -f 3`
|
||||
|
||||
for toolname in $toollist;do
|
||||
expect <<EOF
|
||||
set timeout 10
|
||||
spawn scp $tooldir/$toolname $user@$ip:/tmp
|
||||
expect {
|
||||
"yes/no" { send "yes\n";exp_continue }
|
||||
"password" { send "$passwd\n" }
|
||||
}
|
||||
expect "password" { send "$passwd\n" }
|
||||
EOF
|
||||
done
|
||||
for toolname in $toollist;do
|
||||
expect <<EOF
|
||||
set timeout 10
|
||||
spawn ssh $user@$ip sudo mv /tmp/$toolname $tooldir
|
||||
expect {
|
||||
"yes/no" { send "yes\n";exp_continue }
|
||||
"password" { send "$passwd\n" }
|
||||
}
|
||||
expect "password" { send "$passwd\n" }
|
||||
EOF
|
||||
done
|
||||
done < nehosts
|
||||
36
build/linux/usr/local/etc/omc/script/cpsshkey.sh
Normal file
36
build/linux/usr/local/etc/omc/script/cpsshkey.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# if exist id_rsa
|
||||
if [ ! -f ~/.ssh/id_rsa ];then
|
||||
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
|
||||
else
|
||||
echo "id_rsa has created ..."
|
||||
fi
|
||||
|
||||
# distribute to hosts in file nehosts
|
||||
while read line
|
||||
do
|
||||
# ignore comment or null line
|
||||
if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
ip=`echo $line | cut -d " " -f 1`
|
||||
user=`echo $line | cut -d " " -f 2`
|
||||
passwd=`echo $line | cut -d " " -f 3`
|
||||
|
||||
# !!! to remove ~/.ssh, all old authorized key will be lost
|
||||
expect <<EOF
|
||||
set timeout 10
|
||||
spawn ssh $user@$ip "sudo rm -r ~/.ssh"
|
||||
expect {
|
||||
"yes/no" { send "yes\n";exp_continue }
|
||||
"password:" { send "$passwd\n" }
|
||||
}
|
||||
spawn ssh-copy-id -f $user@$ip
|
||||
expect {
|
||||
"password:" { send "$passwd\n" }
|
||||
}
|
||||
expect eof
|
||||
EOF
|
||||
done < nehosts
|
||||
161
build/linux/usr/local/etc/omc/script/importdb.sh
Normal file
161
build/linux/usr/local/etc/omc/script/importdb.sh
Normal file
@@ -0,0 +1,161 @@
|
||||
#!/bin/bash
|
||||
|
||||
USER="root"
|
||||
PASSWORD="1000omc@kp!"
|
||||
HOST="127.0.0.1"
|
||||
PORT="33066"
|
||||
DBNAME="omc_db"
|
||||
UpgradeSQLDir=/usr/local/omc/etc/db/upgrade
|
||||
Upgvue3SQLDir=/usr/local/omc/etc/db/upgvue3
|
||||
InstallSQLDir=/usr/local/omc/etc/db/install
|
||||
|
||||
drop_db_sql="drop database IF EXISTS ${DBNAME}"
|
||||
create_db_sql="create database IF NOT EXISTS ${DBNAME}"
|
||||
|
||||
case "$1" in
|
||||
upgrade)
|
||||
echo "Upgrade database ${DBNAME}"
|
||||
for SQL in ${UpgradeSQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
upgvue3)
|
||||
echo "Upgrade to vue3 database ${DBNAME}"
|
||||
for SQL in ${Upgvue3SQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
install)
|
||||
echo "Drop database ${DBNAME} ...!!!"
|
||||
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${drop_db_sql}"
|
||||
echo "Create database ${DBNAME} if not exist"
|
||||
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${create_db_sql}"
|
||||
for SQL in ${InstallSQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
*)
|
||||
while true
|
||||
do
|
||||
read -r -p "Do you upgrade or upgrade from layui to vue3 or fresh install database ${DBNAME}? [Upgrade/upgVue3/Install/Quit] " input
|
||||
|
||||
case $input in
|
||||
[uU][pP][gG][rR][aA][dD][eE]|[uU])
|
||||
echo "Skip to drop database ${DBNAME}"
|
||||
echo "Upgrade database ${DBNAME}"
|
||||
|
||||
for SQL in ${UpgradeSQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
[uU][pP][gG][vV][uU][eE][3]|[vV]])
|
||||
echo "Skip to drop database ${DBNAME}"
|
||||
echo "Upgrade to vue3 database ${DBNAME}"
|
||||
|
||||
for SQL in ${Upgvue3SQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
[iI][nN][sS][tT][aA][lL][lL]|[iI])
|
||||
echo "Drop database ${DBNAME} ...!!!"
|
||||
|
||||
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${drop_db_sql}"
|
||||
echo "Create database ${DBNAME} if not exist"
|
||||
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${create_db_sql}"
|
||||
|
||||
for SQL in ${InstallSQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
[qQ][uU][iI][tT]|[qQ])
|
||||
echo "Nothing to be done! GOOD BYE"
|
||||
exit 1;
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
;;
|
||||
esac
|
||||
done
|
||||
;;
|
||||
esac
|
||||
|
||||
# create kpi_report table with ne_type, exp: kpi_report_amf
|
||||
ne_types=$(mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -se "SELECT DISTINCT LOWER(ne_type) FROM kpi_title")
|
||||
for ne_type in ${ne_types}; do
|
||||
TABLE_NAME="kpi_report_${ne_type}"
|
||||
SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} LIKE \`kpi_report\`;"
|
||||
echo -n "Create table: ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
SQL="ALTER TABLE ${TABLE_NAME} DROP INDEX IF EXISTS \`idx_uid_at\`;"
|
||||
echo -n "Create index of ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
SQL="ALTER TABLE ${TABLE_NAME} ADD INDEX IF NOT EXISTS \`idx_${ne_type}_uid_at\`(\`rm_uid\`, \`created_at\`) USING BTREE;"
|
||||
echo -n "Create index of ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
|
||||
TABLE_NAME="kpi_c_report_${ne_type}"
|
||||
SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} LIKE \`kpi_c_report\`;"
|
||||
echo -n "Create table: ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
SQL="ALTER TABLE ${TABLE_NAME} DROP INDEX IF EXISTS \`idx_c_uid_at\`;"
|
||||
echo -n "Create index of ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
SQL="ALTER TABLE ${TABLE_NAME} ADD INDEX IF NOT EXISTS \`idx_c_${ne_type}_uid_at\`(\`rm_uid\`, \`created_at\`) USING BTREE;"
|
||||
echo -n "Create index of ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
2
build/linux/usr/local/etc/omc/script/nehosts
Normal file
2
build/linux/usr/local/etc/omc/script/nehosts
Normal file
@@ -0,0 +1,2 @@
|
||||
# host user password
|
||||
# Example: 172.16.5.100 omcuser password
|
||||
16
build/linux/usr/local/etc/omc/script/rmexpfiles.sh
Normal file
16
build/linux/usr/local/etc/omc/script/rmexpfiles.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
# rm expired file with filename like *20231028111213.zip"
|
||||
|
||||
filepath=$1
|
||||
duration=$2
|
||||
|
||||
find $filepath -maxdepth 1 -type f -name "*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*" -printf "%f\n" | while read filename; do
|
||||
datestr=$(echo "$filename" | grep -oE '[0-9]{8}')
|
||||
filedate=$(date -d "$datestr" +%s)
|
||||
sevendaysago=$(date -d "$duration days ago" +%s)
|
||||
if [ "$filedate" -lt "$sevendaysago" ]; then
|
||||
rm -f "$filepath/$filename"
|
||||
echo "rm file: $filename"
|
||||
fi
|
||||
done
|
||||
112
build/linux/usr/local/etc/omc/script/setomc.sh
Normal file
112
build/linux/usr/local/etc/omc/script/setomc.sh
Normal file
@@ -0,0 +1,112 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read the value of the variable from file
|
||||
source /usr/local/omc/etc/omc.conf
|
||||
|
||||
C_ARG_LOWER="omc"
|
||||
C_ARG_UPPER="OMC"
|
||||
M_ARG_LOWER="*"
|
||||
|
||||
check_args() {
|
||||
while getopts "c:m:" option; do
|
||||
case $option in
|
||||
c)
|
||||
C_ARG_LOWER=$(echo $OPTARG | tr '[:upper:]' '[:lower:]')
|
||||
C_ARG_UPPER=$(echo $OPTARG | tr '[:lower:]' '[:upper:]')
|
||||
# Modifying Script Variables
|
||||
if [ "${C_ARG_LOWER}" == "ba" ]; then
|
||||
C_ARG_UPPER="BA"
|
||||
sed -i 's/VENDORS=.*/VENDORS=BA/' /usr/local/omc/etc/omc.conf
|
||||
elif [ "${C_ARG_LOWER}" == "omc" ]; then
|
||||
C_ARG_UPPER="OMC"
|
||||
sed -i 's/VENDORS=.*/VENDORS=OMC/' /usr/local/omc/etc/omc.conf
|
||||
elif [ "${C_ARG_LOWER}" == "agt" ]; then
|
||||
C_ARG_UPPER="AGT"
|
||||
sed -i 's/VENDORS=.*/VENDORS=AGT/' /usr/local/omc/etc/omc.conf
|
||||
fi
|
||||
;;
|
||||
m)
|
||||
M_ARG=$(echo $OPTARG | tr '[:upper:]' '[:lower:]')
|
||||
if [ "${VENDORS}" == "BA" ]; then
|
||||
C_ARG_LOWER="ba"
|
||||
C_ARG_UPPER="BA"
|
||||
fi
|
||||
;;
|
||||
\?)
|
||||
echo "Invalid option: -$OPTARG" >&2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
USER="root"
|
||||
PASSWORD="1000omc@kp!"
|
||||
PORT="33066"
|
||||
DBNAME="omc_db"
|
||||
OMCRootDir=/usr/local/omc
|
||||
OMCBinDir=${OMCRootDir}/bin
|
||||
UpgradeSQLDir=${OMCRootDir}/etc/db/upgrade
|
||||
Upgvue3SQLDir=${OMCRootDir}/etc/db/upgvue3
|
||||
InstallSQLDir=${OMCRootDir}/etc/db/install
|
||||
OMCStaticDir=${OMCRootDir}/static
|
||||
|
||||
check_args "$@"
|
||||
|
||||
case "${M_ARG}" in
|
||||
install)
|
||||
${OMCBinDir}/importdb.sh ${M_ARG}
|
||||
|
||||
if [ "${C_ARG_LOWER}" != "" ]; then
|
||||
CustomizedDir=${OMCStaticDir}/${C_ARG_LOWER}.d
|
||||
if [ ! -d "${CustomizedDir}" ]; then
|
||||
echo "Not found ${C_ARG_UPPER} customized directory, nothing to be done"
|
||||
exit 1
|
||||
fi
|
||||
echo -n "Setting ${C_ARG_UPPER} customized OMC ..."
|
||||
for SQL in ${CustomizedDir}/db/*.sql; do
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
done
|
||||
cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo
|
||||
cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc
|
||||
if [ "${C_ARG_LOWER}" == "ba" ]; then
|
||||
rm -rf ${OMCStaticDir}/logo/zh_*
|
||||
rm -rf ${OMCStaticDir}/helpDoc/zh_*
|
||||
fi
|
||||
#perl -0777 -i -pe 's/omcuser/bluearcus/g' ${OMCRootDir}/etc/default/restconf.yaml
|
||||
#perl -0777 -i -pe 's/omcuser/bluearcus/g' ${OMCBinDir}/nehosts
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
upgrade | upgvue3)
|
||||
${OMCBinDir}/importdb.sh ${M_ARG}
|
||||
;;
|
||||
skip)
|
||||
if [ "${C_ARG_LOWER}" != "" ]; then
|
||||
CustomizedDir=${OMCStaticDir}/${C_ARG_LOWER}.d
|
||||
if [ ! -d "${CustomizedDir}" ]; then
|
||||
echo "Not found ${C_ARG_UPPER} customized directory, nothing to be done"
|
||||
exit 1
|
||||
fi
|
||||
echo -n "Setting ${C_ARG_UPPER} customized OMC ..."
|
||||
for SQL in ${CustomizedDir}/db/*.sql; do
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
done
|
||||
cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo
|
||||
cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc
|
||||
if [ "${C_ARG_LOWER}" == "ba" ]; then
|
||||
rm -rf ${OMCStaticDir}/logo/zh_*
|
||||
rm -rf ${OMCStaticDir}/helpDoc/zh_*
|
||||
fi
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
${OMCBinDir}/importdb.sh
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
48
build/linux/usr/local/etc/omc/script/setup.sh
Normal file
48
build/linux/usr/local/etc/omc/script/setup.sh
Normal file
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
|
||||
BinFile=/usr/local/bin/omc
|
||||
ConfFile=/usr/local/etc/omc/omc.yaml
|
||||
|
||||
# usage
|
||||
usage() {
|
||||
echo "Usage: bash $0 [OPTION]"
|
||||
echo
|
||||
echo "Program Initialization OPTION:"
|
||||
echo " -i, --install Specify the install"
|
||||
echo " -u, --upgrade Specify the upgrade"
|
||||
echo " -h Display this help message"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 检查环境
|
||||
checkEnv() {
|
||||
# 检查 mysql 或 mariadb 是否安装
|
||||
if command -v mysql &> /dev/null || command -v mariadb &> /dev/null; then
|
||||
echo "MySQL 或 MariaDB 已安装"
|
||||
else
|
||||
echo "MySQL or MariaDB not installed"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# install
|
||||
install() {
|
||||
echo "install"
|
||||
|
||||
/usr/local/bin/omc -c /usr/local/etc/omc.yaml --sqlPath /usr/local/etc/omc/database/upgrade/sqlite/upg_20250313.sql --sqlSource lite
|
||||
}
|
||||
|
||||
# upgrade
|
||||
upgrade() {
|
||||
echo "upgrade"
|
||||
}
|
||||
|
||||
# 读取命令行参数
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-i | --install) install; shift 2 ;;
|
||||
-u | --upgrade) upgrade; shift 2 ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
done
|
||||
23
build/linux/usr/local/etc/omc/script/sshcpid.sh
Normal file
23
build/linux/usr/local/etc/omc/script/sshcpid.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 判断id_rsa密钥文件是否存在
|
||||
if [ ! -f ~/.ssh/id_rsa ];then
|
||||
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
|
||||
else
|
||||
echo "id_rsa has created ..."
|
||||
fi
|
||||
|
||||
ip=$1
|
||||
user=$2
|
||||
passwd=$3
|
||||
|
||||
#分发到$ip主机.
|
||||
expect <<EOF
|
||||
set timeout 10
|
||||
spawn ssh-copy-id -f $user@$ip
|
||||
expect {
|
||||
"yes/no" { send "yes\n";exp_continue }
|
||||
"password" { send "$passwd\n" }
|
||||
}
|
||||
expect "password" { send "$passwd\n" }
|
||||
EOF
|
||||
Reference in New Issue
Block a user