mirror of https://github.com/midoks/mdserver-web
commit
258b9b610f
@ -0,0 +1,120 @@ |
|||||||
|
#!/bin/bash |
||||||
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin |
||||||
|
export PATH |
||||||
|
|
||||||
|
#https://dev.mysql.com/downloads/mysql/5.5.html#downloads |
||||||
|
#https://dev.mysql.com/downloads/file/?id=480541 |
||||||
|
|
||||||
|
curPath=`pwd` |
||||||
|
rootPath=$(dirname "$curPath") |
||||||
|
rootPath=$(dirname "$rootPath") |
||||||
|
serverPath=$(dirname "$rootPath") |
||||||
|
sysName=`uname` |
||||||
|
|
||||||
|
mariadbDir=${serverPath}/source/mariadb |
||||||
|
|
||||||
|
MY_VER=11.7.2 |
||||||
|
|
||||||
|
Install_app() |
||||||
|
{ |
||||||
|
mkdir -p ${mariadbDir} |
||||||
|
echo '正在安装脚本文件...' |
||||||
|
|
||||||
|
if [ "$sysName" != "Darwin" ];then |
||||||
|
mkdir -p /var/log/mariadb |
||||||
|
touch /var/log/mariadb/mariadb.log |
||||||
|
fi |
||||||
|
|
||||||
|
# ----- cpu start ------ |
||||||
|
if [ -z "${cpuCore}" ]; then |
||||||
|
cpuCore="1" |
||||||
|
fi |
||||||
|
|
||||||
|
if [ -f /proc/cpuinfo ];then |
||||||
|
cpuCore=`cat /proc/cpuinfo | grep "processor" | wc -l` |
||||||
|
fi |
||||||
|
|
||||||
|
MEM_INFO=$(free -m|grep Mem|awk '{printf("%.f",($2)/1024)}') |
||||||
|
if [ "${cpuCore}" != "1" ] && [ "${MEM_INFO}" != "0" ];then |
||||||
|
if [ "${cpuCore}" -gt "${MEM_INFO}" ];then |
||||||
|
cpuCore="${MEM_INFO}" |
||||||
|
fi |
||||||
|
else |
||||||
|
cpuCore="1" |
||||||
|
fi |
||||||
|
|
||||||
|
if [ "$cpuCore" -gt "2" ];then |
||||||
|
cpuCore=`echo "$cpuCore" | awk '{printf("%.f",($1)*0.8)}'` |
||||||
|
else |
||||||
|
cpuCore="1" |
||||||
|
fi |
||||||
|
# ----- cpu end ------ |
||||||
|
|
||||||
|
# if [ ! -f ${mariadbDir}/mariadb-${MY_VER}.tar.gz ];then |
||||||
|
# wget --no-check-certificate -O ${mariadbDir}/mariadb-${MY_VER}.tar.gz --tries=3 https://mirrors.aliyun.com/mariadb/mariadb-${MY_VER}/source/mariadb-${MY_VER}.tar.gz |
||||||
|
# fi |
||||||
|
|
||||||
|
# https://downloads.mariadb.org/interstitial/mariadb-10.9.1/source/mariadb-10.9.1.tar.gz |
||||||
|
if [ ! -f ${mariadbDir}/mariadb-${MY_VER}.tar.gz ];then |
||||||
|
wget --no-check-certificate -O ${mariadbDir}/mariadb-${MY_VER}.tar.gz --tries=3 https://archive.mariadb.org/mariadb-${MY_VER}/source/mariadb-${MY_VER}.tar.gz |
||||||
|
fi |
||||||
|
|
||||||
|
if [ ! -d ${mariadbDir}/mariadb-${MY_VER} ];then |
||||||
|
cd ${mariadbDir} && tar -zxvf ${mariadbDir}/mariadb-${MY_VER}.tar.gz |
||||||
|
fi |
||||||
|
|
||||||
|
INSTALL_CMD=cmake |
||||||
|
# check cmake version |
||||||
|
CMAKE_VERSION=`cmake -version | grep version | awk '{print $3}' | awk -F '.' '{print $1}'` |
||||||
|
if [ "$CMAKE_VERSION" -eq "2" ];then |
||||||
|
mkdir -p /var/log/mariadb |
||||||
|
touch /var/log/mariadb/mariadb.log |
||||||
|
INSTALL_CMD=cmake3 |
||||||
|
fi |
||||||
|
|
||||||
|
if [ ! -d $serverPath/mariadb ];then |
||||||
|
cd ${mariadbDir}/mariadb-${MY_VER} && ${INSTALL_CMD} \ |
||||||
|
-DCMAKE_INSTALL_PREFIX=$serverPath/mariadb \ |
||||||
|
-DMYSQL_DATADIR=$serverPath/mariadb/data/ \ |
||||||
|
-DMYSQL_USER=mysql \ |
||||||
|
-DMYSQL_UNIX_ADDR=$serverPath/mariadb/mysql.sock \ |
||||||
|
-DWITH_MYISAM_STORAGE_ENGINE=1 \ |
||||||
|
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ |
||||||
|
-DWITH_MEMORY_STORAGE_ENGINE=1 \ |
||||||
|
-DENABLED_LOCAL_INFILE=1 \ |
||||||
|
-DWITH_PARTITION_STORAGE_ENGINE=1 \ |
||||||
|
-DEXTRA_CHARSETS=all \ |
||||||
|
-DDEFAULT_CHARSET=utf8mb4 \ |
||||||
|
-DDEFAULT_COLLATION=utf8mb4_general_ci \ |
||||||
|
-DCMAKE_C_COMPILER=/usr/bin/gcc \ |
||||||
|
-DCMAKE_CXX_COMPILER=/usr/bin/g++ |
||||||
|
make -j${cpuCore} && make install && make clean |
||||||
|
|
||||||
|
if [ -d $serverPath/mariadb ];then |
||||||
|
echo '11.7' > $serverPath/mariadb/version.pl |
||||||
|
echo '安装完成' |
||||||
|
else |
||||||
|
echo '安装失败' |
||||||
|
echo 'install fail'>&2 |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
fi |
||||||
|
|
||||||
|
if [ -d ${mariadbDir}/mariadb-${MY_VER} ];then |
||||||
|
rm -rf ${mariadbDir}/mariadb-${MY_VER} |
||||||
|
fi |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
Uninstall_app() |
||||||
|
{ |
||||||
|
rm -rf $serverPath/mariadb |
||||||
|
echo '卸载完成' |
||||||
|
} |
||||||
|
|
||||||
|
action=$1 |
||||||
|
if [ "${1}" == 'install' ];then |
||||||
|
Install_app |
||||||
|
else |
||||||
|
Uninstall_app |
||||||
|
fi |
@ -0,0 +1,113 @@ |
|||||||
|
[client] |
||||||
|
user = root |
||||||
|
#password = your_password |
||||||
|
port = 3306 |
||||||
|
socket = {$SERVER_APP_PATH}/mysql.sock |
||||||
|
default-character-set = UTF8MB4 |
||||||
|
|
||||||
|
[mysqld] |
||||||
|
!include {$SERVER_APP_PATH}/etc/mode/classic.cnf |
||||||
|
|
||||||
|
authentication_policy=caching_sha2_password |
||||||
|
pid-file = {$SERVER_APP_PATH}/data/mysql.pid |
||||||
|
user = mysql |
||||||
|
port = 3306 |
||||||
|
socket = {$SERVER_APP_PATH}/mysql.sock |
||||||
|
basedir = {$SERVER_APP_PATH} |
||||||
|
datadir = {$SERVER_APP_PATH}/data |
||||||
|
log-error = {$SERVER_APP_PATH}/data/error.log |
||||||
|
server-id = {$SERVER_ID} |
||||||
|
#sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES |
||||||
|
|
||||||
|
default_storage_engine = InnoDB |
||||||
|
|
||||||
|
key_buffer_size = 8M |
||||||
|
table_open_cache = 32 |
||||||
|
sort_buffer_size = 256K |
||||||
|
net_buffer_length = 4K |
||||||
|
read_buffer_size = 128K |
||||||
|
read_rnd_buffer_size = 256K |
||||||
|
myisam_sort_buffer_size = 4M |
||||||
|
thread_cache_size = 4 |
||||||
|
lower_case_table_names=0 |
||||||
|
tmp_table_size = 8M |
||||||
|
character-set-server = UTF8MB4 |
||||||
|
|
||||||
|
max_connections = 500 |
||||||
|
max_connect_errors = 100 |
||||||
|
open_files_limit = 2560 |
||||||
|
max_allowed_packet = 128M |
||||||
|
|
||||||
|
skip_name_resolve=1 |
||||||
|
#skip-networking |
||||||
|
#skip-external-locking |
||||||
|
#loose-skip-innodb |
||||||
|
#skip-grant-tables |
||||||
|
|
||||||
|
log-bin=mysql-bin |
||||||
|
slow_query_log=1 |
||||||
|
slow-query-log-file={$SERVER_APP_PATH}/data/mysql-slow.log |
||||||
|
long_query_time=10 |
||||||
|
#log_queries_not_using_indexes=1 |
||||||
|
#log_slow_admin_statements=1 |
||||||
|
#log_slow_replica_statements=1 |
||||||
|
binlog_expire_logs_seconds=604800 |
||||||
|
|
||||||
|
relay-log=mdserver |
||||||
|
relay-log-index=mdserver |
||||||
|
|
||||||
|
#多主设置 |
||||||
|
#auto_increment_offset=2 |
||||||
|
#auto_increment_increment=2 |
||||||
|
|
||||||
|
#master |
||||||
|
#sync_binlog=1 |
||||||
|
|
||||||
|
#binlog-do-db |
||||||
|
binlog-ignore-db = test |
||||||
|
binlog-ignore-db = mysql |
||||||
|
binlog-ignore-db = information_schema |
||||||
|
binlog-ignore-db = performance_schema |
||||||
|
|
||||||
|
#slave |
||||||
|
log_replica_updates = 1 |
||||||
|
# Prevent replication from starting automatically with MySQL |
||||||
|
#skip_replica_start = 1 |
||||||
|
#replicate-do-db |
||||||
|
replica_skip_errors=1062,1396 |
||||||
|
replicate-ignore-db = information_schema |
||||||
|
replicate-ignore-db = performance_schema |
||||||
|
replicate-ignore-db = mysql |
||||||
|
replicate-ignore-db = test |
||||||
|
|
||||||
|
|
||||||
|
innodb_data_home_dir = {$SERVER_APP_PATH}/data |
||||||
|
innodb_data_file_path = ibdata1:10M:autoextend |
||||||
|
innodb_log_group_home_dir = {$SERVER_APP_PATH}/data |
||||||
|
innodb_buffer_pool_size = 16M |
||||||
|
#innodb_log_file_size = 5M |
||||||
|
innodb_redo_log_capacity=10485760 |
||||||
|
innodb_log_buffer_size = 8M |
||||||
|
innodb_flush_log_at_trx_commit = 1 |
||||||
|
innodb_lock_wait_timeout = 120 |
||||||
|
innodb_max_dirty_pages_pct = 90 |
||||||
|
innodb_read_io_threads = 1 |
||||||
|
innodb_write_io_threads = 1 |
||||||
|
innodb_file_per_table=1 |
||||||
|
|
||||||
|
secure-file-priv={$SERVER_APP_PATH}/tmp |
||||||
|
|
||||||
|
[mysqldump] |
||||||
|
quick |
||||||
|
|
||||||
|
[mysql] |
||||||
|
no-auto-rehash |
||||||
|
|
||||||
|
[myisamchk] |
||||||
|
key_buffer_size = 20M |
||||||
|
sort_buffer_size = 20M |
||||||
|
read_buffer = 2M |
||||||
|
write_buffer = 2M |
||||||
|
|
||||||
|
[mysqlhotcopy] |
||||||
|
interactive-timeout |
@ -0,0 +1,230 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
#!/bin/bash |
||||||
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin |
||||||
|
export PATH |
||||||
|
|
||||||
|
# https://dev.mysql.com/downloads/mysql/ |
||||||
|
|
||||||
|
curPath=`pwd` |
||||||
|
rootPath=$(dirname "$curPath") |
||||||
|
rootPath=$(dirname "$rootPath") |
||||||
|
serverPath=$(dirname "$rootPath") |
||||||
|
sysName=`uname` |
||||||
|
|
||||||
|
|
||||||
|
mysqlDir=${serverPath}/source/mysql |
||||||
|
|
||||||
|
_os=`uname` |
||||||
|
echo "use system: ${_os}" |
||||||
|
if [ ${_os} == "Darwin" ]; then |
||||||
|
OSNAME='macos' |
||||||
|
elif grep -Eq "openSUSE" /etc/*-release; then |
||||||
|
OSNAME='opensuse' |
||||||
|
zypper refresh |
||||||
|
elif grep -Eq "FreeBSD" /etc/*-release; then |
||||||
|
OSNAME='freebsd' |
||||||
|
pkg install -y wget unzip |
||||||
|
elif grep -Eqi "Arch" /etc/issue || grep -Eq "Arch" /etc/*-release; then |
||||||
|
OSNAME='arch' |
||||||
|
echo y | pacman -Sy unzip |
||||||
|
elif grep -Eqi "CentOS" /etc/issue || grep -Eq "CentOS" /etc/*-release; then |
||||||
|
OSNAME='centos' |
||||||
|
yum install -y wget zip unzip |
||||||
|
elif grep -Eqi "Fedora" /etc/issue || grep -Eq "Fedora" /etc/*-release; then |
||||||
|
OSNAME='fedora' |
||||||
|
yum install -y wget zip unzip |
||||||
|
elif grep -Eqi "Rocky" /etc/issue || grep -Eq "Rocky" /etc/*-release; then |
||||||
|
OSNAME='rocky' |
||||||
|
yum install -y wget zip unzip |
||||||
|
elif grep -Eqi "AlmaLinux" /etc/issue || grep -Eq "AlmaLinux" /etc/*-release; then |
||||||
|
OSNAME='alma' |
||||||
|
yum install -y wget zip unzip |
||||||
|
elif grep -Eqi "Debian" /etc/issue || grep -Eq "Debian" /etc/*-release; then |
||||||
|
OSNAME='debian' |
||||||
|
apt update -y |
||||||
|
apt install -y devscripts |
||||||
|
apt install -y wget zip unzip |
||||||
|
elif grep -Eqi "Ubuntu" /etc/issue || grep -Eq "Ubuntu" /etc/*-release; then |
||||||
|
OSNAME='ubuntu' |
||||||
|
apt install -y wget zip unzip |
||||||
|
else |
||||||
|
OSNAME='unknow' |
||||||
|
fi |
||||||
|
|
||||||
|
VERSION_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'` |
||||||
|
|
||||||
|
|
||||||
|
VERSION=9.2.0 |
||||||
|
# https://dev.mysql.com/get/Downloads/MySQL-9.2/mysql-${VERSION}.tar.gz |
||||||
|
# https://cdn.mysql.com//Downloads/MySQL-9.2/mysql-boost-${VERSION}.tar.gz |
||||||
|
Install_mysql() |
||||||
|
{ |
||||||
|
mkdir -p ${mysqlDir} |
||||||
|
echo '正在安装脚本文件...' |
||||||
|
|
||||||
|
|
||||||
|
# ----- cpu start ------ |
||||||
|
if [ -z "${cpuCore}" ]; then |
||||||
|
cpuCore="1" |
||||||
|
fi |
||||||
|
|
||||||
|
if [ -f /proc/cpuinfo ];then |
||||||
|
cpuCore=`cat /proc/cpuinfo | grep "processor" | wc -l` |
||||||
|
fi |
||||||
|
|
||||||
|
MEM_INFO=$(free -m|grep Mem|awk '{printf("%.f",($2)/1024)}') |
||||||
|
if [ "${cpuCore}" != "1" ] && [ "${MEM_INFO}" != "0" ];then |
||||||
|
if [ "${cpuCore}" -gt "${MEM_INFO}" ];then |
||||||
|
cpuCore="${MEM_INFO}" |
||||||
|
fi |
||||||
|
else |
||||||
|
cpuCore="1" |
||||||
|
fi |
||||||
|
|
||||||
|
if [ "$cpuCore" -gt "2" ];then |
||||||
|
cpuCore=`echo "$cpuCore" | awk '{printf("%.f",($1)*0.8)}'` |
||||||
|
else |
||||||
|
cpuCore="1" |
||||||
|
fi |
||||||
|
# ----- cpu end ------ |
||||||
|
|
||||||
|
cd ${rootPath}/plugins/mysql/lib && /bin/bash rpcgen.sh |
||||||
|
|
||||||
|
INSTALL_CMD=cmake |
||||||
|
# check cmake version |
||||||
|
CMAKE_VERSION=`cmake -version | grep version | awk '{print $3}' | awk -F '.' '{print $1}'` |
||||||
|
if [ "$CMAKE_VERSION" -eq "2" ];then |
||||||
|
mkdir -p /var/log/mariadb |
||||||
|
touch /var/log/mariadb/mariadb.log |
||||||
|
INSTALL_CMD=cmake3 |
||||||
|
fi |
||||||
|
|
||||||
|
if [ ! -f ${mysqlDir}/mysql-${VERSION}.tar.gz ];then |
||||||
|
wget --no-check-certificate -O ${mysqlDir}/mysql-${VERSION}.tar.gz --tries=3 https://dev.mysql.com/get/Downloads/MySQL-9.2/mysql-${VERSION}.tar.gz |
||||||
|
fi |
||||||
|
|
||||||
|
#检测文件是否损坏. |
||||||
|
md5_mysql_ok=acabc8aa764a94a8b10f90284c6e60c5 |
||||||
|
if [ -f ${mysqlDir}/mysql-${VERSION}.tar.gz ];then |
||||||
|
md5_mysql=`md5sum ${mysqlDir}/mysql-${VERSION}.tar.gz | awk '{print $1}'` |
||||||
|
if [ "${md5_mysql_ok}" == "${md5_mysql}" ]; then |
||||||
|
echo "mysql9.2 file check ok" |
||||||
|
else |
||||||
|
# 重新下载 |
||||||
|
rm -rf ${mysqlDir}/mysql-${VERSION} |
||||||
|
wget --no-check-certificate -O ${mysqlDir}/mysql-${VERSION}.tar.gz --tries=3 https://dev.mysql.com/get/Downloads/MySQL-9.2/mysql-${VERSION}.tar.gz |
||||||
|
fi |
||||||
|
fi |
||||||
|
|
||||||
|
if [ ! -d ${mysqlDir}/mysql-${VERSION} ];then |
||||||
|
cd ${mysqlDir} && tar -zxvf ${mysqlDir}/mysql-${VERSION}.tar.gz |
||||||
|
fi |
||||||
|
|
||||||
|
OPTIONS='' |
||||||
|
##check openssl version |
||||||
|
OPENSSL_VERSION=`openssl version|awk '{print $2}'|awk -F '.' '{print $1}'` |
||||||
|
if [ "${OPENSSL_VERSION}" -ge "3" ];then |
||||||
|
#openssl version to high |
||||||
|
cd ${rootPath}/plugins/php/lib && /bin/bash openssl.sh |
||||||
|
export PKG_CONFIG_PATH=$serverPath/lib/openssl/lib/pkgconfig |
||||||
|
OPTIONS="-DWITH_SSL=${serverPath}/lib/openssl" |
||||||
|
fi |
||||||
|
|
||||||
|
WHERE_DIR_GCC=/usr/bin/gcc |
||||||
|
WHERE_DIR_GPP=/usr/bin/g++ |
||||||
|
if [ "$OSNAME" == "centos" ] && [ "$VERSION_ID" == "7" ];then |
||||||
|
yum install -y libudev-devel |
||||||
|
yum install -y centos-release-scl |
||||||
|
yum install -y devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils |
||||||
|
|
||||||
|
gcc --version |
||||||
|
WHERE_DIR_GCC=/opt/rh/devtoolset-11/root/usr/bin/gcc |
||||||
|
WHERE_DIR_GPP=/opt/rh/devtoolset-11/root/usr/bin/g++ |
||||||
|
echo $WHERE_DIR_GCC |
||||||
|
echo $WHERE_DIR_GPP |
||||||
|
fi |
||||||
|
|
||||||
|
if [ "$OSNAME" == "ubuntu" ];then |
||||||
|
apt install -y libudev-dev |
||||||
|
apt install -y libtirpc-dev |
||||||
|
apt install -y libssl-dev |
||||||
|
apt install -y libgssglue-dev |
||||||
|
apt install -y software-properties-common |
||||||
|
add-apt-repository -y ppa:ubuntu-toolchain-r/test |
||||||
|
|
||||||
|
LIBTIRPC_VER=`pkg-config libtirpc --modversion` |
||||||
|
if [ ! -f ${mysqlDir}/libtirpc_1.3.3.orig.tar.bz2 ];then |
||||||
|
wget --no-check-certificate -O ${mysqlDir}/libtirpc_1.3.3.orig.tar.bz2 https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.3.tar.bz2 |
||||||
|
cd ${mysqlDir} && tar -jxvf libtirpc_1.3.3.orig.tar.bz2 |
||||||
|
cd libtirpc-1.3.3 && ./configure |
||||||
|
fi |
||||||
|
|
||||||
|
export PKG_CONFIG_PATH=/usr/lib/pkgconfig |
||||||
|
apt install -y gcc-11 g++-11 |
||||||
|
WHERE_DIR_GCC=/usr/bin/gcc-11 |
||||||
|
WHERE_DIR_GPP=/usr/bin/g++-11 |
||||||
|
|
||||||
|
|
||||||
|
OPTIONS="${OPTIONS} -DFORCE_INSOURCE_BUILD=1" |
||||||
|
OPTIONS="${OPTIONS} -D_FORTIFY_SOURCE=2" |
||||||
|
fi |
||||||
|
|
||||||
|
|
||||||
|
if [ "$OSNAME" == "opensuse" ];then |
||||||
|
zypper install -y gcc11 |
||||||
|
zypper install -y gcc11-c++ |
||||||
|
|
||||||
|
|
||||||
|
WHERE_DIR_GCC=/usr/bin/gcc-11 |
||||||
|
WHERE_DIR_GPP=/usr/bin/g++-11 |
||||||
|
fi |
||||||
|
|
||||||
|
if [ ! -d $serverPath/mysql ];then |
||||||
|
# -DCMAKE_CXX_STANDARD=17 \ |
||||||
|
cd ${mysqlDir}/mysql-${VERSION} && ${INSTALL_CMD} \ |
||||||
|
-DCMAKE_INSTALL_PREFIX=$serverPath/mysql \ |
||||||
|
-DMYSQL_USER=mysql \ |
||||||
|
-DMYSQL_TCP_PORT=3306 \ |
||||||
|
-DMYSQL_UNIX_ADDR=/var/tmp/mysql.sock \ |
||||||
|
-DWITH_MYISAM_STORAGE_ENGINE=1 \ |
||||||
|
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ |
||||||
|
-DWITH_MEMORY_STORAGE_ENGINE=1 \ |
||||||
|
-DENABLED_LOCAL_INFILE=1 \ |
||||||
|
-DWITH_PARTITION_STORAGE_ENGINE=1 \ |
||||||
|
-DWITH_READLINE=1 \ |
||||||
|
-DEXTRA_CHARSETS=all \ |
||||||
|
-DDEFAULT_CHARSET=utf8mb4 \ |
||||||
|
-DDEFAULT_COLLATION=utf8mb4_general_ci \ |
||||||
|
-DDOWNLOAD_BOOST=1 \ |
||||||
|
-DFORCE_INSOURCE_BUILD=1 \ |
||||||
|
$OPTIONS \ |
||||||
|
-DCMAKE_C_COMPILER=$WHERE_DIR_GCC \ |
||||||
|
-DCMAKE_CXX_COMPILER=$WHERE_DIR_GPP \ |
||||||
|
-DDOWNLOAD_BOOST=0 \ |
||||||
|
-DWITH_BOOST=${mysqlDir}/mysql-${VERSION}/boost/ |
||||||
|
make -j${cpuCore} && make install && make clean |
||||||
|
|
||||||
|
if [ -d $serverPath/mysql ];then |
||||||
|
rm -rf ${mysqlDir}/mysql-${VERSION} |
||||||
|
echo '9.2' > $serverPath/mysql/version.pl |
||||||
|
echo "${VERSION}安装完成" |
||||||
|
else |
||||||
|
# rm -rf ${mysqlDir}/mysql-${VERSION} |
||||||
|
echo "${VERSION}安装失败" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
Uninstall_mysql() |
||||||
|
{ |
||||||
|
rm -rf $serverPath/mysql |
||||||
|
echo '卸载完成' |
||||||
|
} |
||||||
|
|
||||||
|
action=$1 |
||||||
|
if [ "${1}" == "install" ];then |
||||||
|
Install_mysql |
||||||
|
else |
||||||
|
Uninstall_mysql |
||||||
|
fi |
@ -0,0 +1,89 @@ |
|||||||
|
# coding:utf-8 |
||||||
|
|
||||||
|
# --------------------------------------------------------------------------------- |
||||||
|
# MW-Linux面板 |
||||||
|
# --------------------------------------------------------------------------------- |
||||||
|
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved. |
||||||
|
# --------------------------------------------------------------------------------- |
||||||
|
# Author: midoks <midoks@163.com> |
||||||
|
# --------------------------------------------------------------------------------- |
||||||
|
|
||||||
|
import os |
||||||
|
import core.mw as mw |
||||||
|
from utils.crontab import crontab |
||||||
|
from croniter import croniter |
||||||
|
from datetime import datetime |
||||||
|
import thisdb |
||||||
|
|
||||||
|
def cron_todb(data): |
||||||
|
# print("------") |
||||||
|
rdata = {} |
||||||
|
if data[3] == "*" and data[2] != "*" : |
||||||
|
rdata['type'] = 'month' |
||||||
|
elif data[3] == "*" and data[4] != "*" : |
||||||
|
rdata['type'] = 'week' |
||||||
|
elif data[3] == "*" and data[4] == "*" and data[2] == "*" : |
||||||
|
rdata['type'] = 'day' |
||||||
|
elif data[1].find("/") > -1 : |
||||||
|
rdata['type'] = 'hour-n' |
||||||
|
elif data[0].find("/") > -1 : |
||||||
|
rdata['type'] = 'minute-n' |
||||||
|
|
||||||
|
# print(rdata) |
||||||
|
# print(data) |
||||||
|
return rdata |
||||||
|
# print("------") |
||||||
|
|
||||||
|
# 识别linux计划任务 |
||||||
|
def init_cron(): |
||||||
|
file = '' |
||||||
|
cron_file = [ |
||||||
|
'/var/spool/cron/crontabs/root', |
||||||
|
'/var/spool/cron/root', |
||||||
|
] |
||||||
|
for i in cron_file: |
||||||
|
if os.path.exists(i): |
||||||
|
file = i |
||||||
|
|
||||||
|
if file == "": |
||||||
|
return True |
||||||
|
|
||||||
|
with open(file) as f: |
||||||
|
for line in f.readlines(): |
||||||
|
cron_line = line.strip() |
||||||
|
if cron_line.startswith("#"): |
||||||
|
continue |
||||||
|
|
||||||
|
cron_expression = cron_line.split(maxsplit=5) # 提取前 5 个字段(* * * * *) |
||||||
|
command = cron_line.split(maxsplit=5)[5] # 提取命令部分 |
||||||
|
|
||||||
|
# 面板计划任务过滤 |
||||||
|
if command.startswith("/www/server/cron"): |
||||||
|
continue |
||||||
|
|
||||||
|
if command.startswith("\"/root/.acme.sh\""): |
||||||
|
# print(cron_expression, command) |
||||||
|
info = cron_todb(cron_expression) |
||||||
|
|
||||||
|
# print(info) |
||||||
|
|
||||||
|
# add_dbdata = {} |
||||||
|
# add_dbdata['name'] = "ACME" |
||||||
|
# add_dbdata['type'] = data['type'] |
||||||
|
# add_dbdata['where1'] = data['where1'] |
||||||
|
# add_dbdata['where_hour'] = data['hour'] |
||||||
|
# add_dbdata['where_minute'] = data['minute'] |
||||||
|
# add_dbdata['save'] = "" |
||||||
|
# add_dbdata['backup_to'] = "" |
||||||
|
# add_dbdata['sname'] = "" |
||||||
|
# add_dbdata['sbody'] = data['sbody'] |
||||||
|
# add_dbdata['stype'] = "toShell" |
||||||
|
# add_dbdata['echo'] = command |
||||||
|
# add_dbdata['url_address'] = '' |
||||||
|
|
||||||
|
# thisdb.addCrontab(add_dbdata) |
||||||
|
|
||||||
|
# print(command) |
||||||
|
|
||||||
|
# cron_list = content.split("\n") |
||||||
|
# print(cron_list) |
Loading…
Reference in new issue