Skip to content

Commit 6473d68

Browse files
authored
Merge pull request #469 from midoks/dev
增加命令 mw db 快捷登录数据库
2 parents e0678c8 + 009b599 commit 6473d68

File tree

6 files changed

+137
-5
lines changed

6 files changed

+137
-5
lines changed

plugins/mariadb/index.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,11 @@ def importDbBackup():
755755
return mw.returnJson(True, 'ok')
756756

757757

758+
def rootPwd():
759+
return pSqliteDb('config').where(
760+
'id=?', (1,)).getField('mysql_root')
761+
762+
758763
def importDbExternal():
759764
args = getArgs()
760765
data = checkArgs(args, ['file', 'name'])
@@ -2740,6 +2745,8 @@ def uninstallPreInspection(version):
27402745
print(setMyPort())
27412746
elif func == 'init_pwd':
27422747
print(initMysqlPwd())
2748+
elif func == 'root_pwd':
2749+
print(rootPwd())
27432750
elif func == 'get_db_list':
27442751
print(getDbList())
27452752
elif func == 'set_db_backup':

plugins/mysql-apt/index.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -728,6 +728,11 @@ def setDbBackup():
728728
return mw.returnJson(True, 'ok')
729729

730730

731+
def rootPwd():
732+
return pSqliteDb('config').where(
733+
'id=?', (1,)).getField('mysql_root')
734+
735+
731736
def importDbExternal():
732737
args = getArgs()
733738
data = checkArgs(args, ['file', 'name'])
@@ -2809,6 +2814,8 @@ def uninstallPreInspection(version):
28092814
print(setMyPort())
28102815
elif func == 'init_pwd':
28112816
print(initMysqlPwd())
2817+
elif func == 'root_pwd':
2818+
print(rootPwd())
28122819
elif func == 'get_db_list':
28132820
print(getDbList())
28142821
elif func == 'set_db_backup':

plugins/mysql-yum/index.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,11 @@ def setDbBackup():
713713
return mw.returnJson(True, 'ok')
714714

715715

716+
def rootPwd():
717+
return pSqliteDb('config').where(
718+
'id=?', (1,)).getField('mysql_root')
719+
720+
716721
def importDbExternal():
717722
args = getArgs()
718723
data = checkArgs(args, ['file', 'name'])
@@ -2786,6 +2791,8 @@ def uninstallPreInspection(version):
27862791
print(setMyPort())
27872792
elif func == 'init_pwd':
27882793
print(initMysqlPwd())
2794+
elif func == 'root_pwd':
2795+
print(rootPwd())
27892796
elif func == 'get_db_list':
27902797
print(getDbList())
27912798
elif func == 'set_db_backup':

plugins/mysql/index.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -933,6 +933,11 @@ def myPass(act, root):
933933
return True
934934

935935

936+
def rootPwd():
937+
return pSqliteDb('config').where(
938+
'id=?', (1,)).getField('mysql_root')
939+
940+
936941
def importDbExternal():
937942
args = getArgs()
938943
data = checkArgs(args, ['file', 'name'])
@@ -3032,6 +3037,8 @@ def uninstallPreInspection(version):
30323037
print(setMyPort())
30333038
elif func == 'init_pwd':
30343039
print(initMysqlPwd())
3040+
elif func == 'root_pwd':
3041+
print(rootPwd())
30353042
elif func == 'get_db_list':
30363043
print(getDbList())
30373044
elif func == 'set_db_backup':

plugins/tgbot/startup/extend/push_ad.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ def send_msg(bot, tag='ad', trigger_time=300):
4141
mw.writeFile(lock_file, json.dumps(lock_data))
4242
# 信号只在一个周期内执行一次|end
4343

44-
# https://t.me/gjgzs2022 | 22/m
45-
# 高价收量 👑 集团收量 ❤️ 流量变现/支付宝代付 ❤️ 微信代付/实名认证/过人脸🕵️‍♀️各种账号处理✅ | 28/m | next 12/28
46-
# https://zhaoziyuan.la/ | web | 15/m | 2m | next,7/15
44+
# https://t.me/gjgzs2022 | 22/m | @GJ_gzs
45+
# 高价收量 👑 集团收量 ❤️ 流量变现/支付宝代付 ❤️ 微信代付/实名认证/过人脸🕵️‍♀️各种账号处理✅ | 28/m | next 12/28 | @laojiaoshou
46+
# https://zhaoziyuan.pw/ | web | 15/m | 2m | next,11/15 | @baleite
4747
# 腾云机场 |9/m
48-
# 🚀鲲鹏VPN | 13/m | next,10/13
49-
# ✨极品资源采集 | 14/m
48+
# 🚀鲲鹏VPN | 13/m | next,10/13 | @libin88888
49+
# ✨极品资源采集 | 14/m |
5050
keyboard = [
5151
[
5252
types.InlineKeyboardButton(

scripts/init.d/mw.tpl

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,24 @@
1212
# Description: starts the mw
1313
### END INIT INFO
1414

15+
RED='\033[31m'
16+
GREEN='\033[32m'
17+
YELLOW='\033[33m'
18+
BLUE='\033[34m'
19+
PLAIN='\033[0m'
20+
BOLD='\033[1m'
21+
SUCCESS='[\033[32mOK\033[0m]'
22+
COMPLETE='[\033[32mDONE\033[0m]'
23+
WARN='[\033[33mWARN\033[0m]'
24+
ERROR='[\033[31mERROR\033[0m]'
25+
WORKING='[\033[34m*\033[0m]'
26+
1527

1628
PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
1729
export LANG=en_US.UTF-8
1830

1931
mw_path={$SERVER_PATH}
32+
ROOT_PATH=$(dirname "$mw_path")
2033
PATH=$PATH:$mw_path/bin
2134

2235

@@ -287,6 +300,96 @@ mw_debug(){
287300
gunicorn -b :$port -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 app:app
288301
}
289302

303+
304+
# choose mysql login
305+
306+
declare -A DB_TYPE
307+
308+
if [ -d "${ROOT_PATH}/mysql" ];then
309+
DB_TYPE["mysql"]="mysql"
310+
fi
311+
312+
if [ -d "${ROOT_PATH}/mariadb" ];then
313+
DB_TYPE["mariadb"]="mariadb"
314+
fi
315+
316+
if [ -d "${ROOT_PATH}/mysql-apt" ];then
317+
DB_TYPE["mysql-apt"]="mysql-apt"
318+
fi
319+
320+
if [ -d "${ROOT_PATH}/mysql-yum" ];then
321+
DB_TYPE["mysql-yum"]="mysql-yum"
322+
fi
323+
324+
SOURCE_LIST_KEY_SORT_TMP=$(echo ${!DB_TYPE[@]} | tr ' ' '\n' | sort -n)
325+
SOURCE_LIST_KEY=(${SOURCE_LIST_KEY_SORT_TMP//'\n'/})
326+
SOURCE_LIST_LEN=${#DB_TYPE[*]}
327+
328+
function AutoSizeStr(){
329+
NAME_STR=$1
330+
NAME_NUM=$2
331+
332+
NAME_STR_LEN=`echo "$NAME_STR" | wc -L`
333+
NAME_NUM_LEN=`echo "$NAME_NUM" | wc -L`
334+
335+
fix_len=35
336+
remaining_len=`expr $fix_len - $NAME_STR_LEN - $NAME_NUM_LEN`
337+
FIX_SPACE=' '
338+
for ((ass_i=1;ass_i<=$remaining_len;ass_i++))
339+
do
340+
FIX_SPACE="$FIX_SPACE "
341+
done
342+
echo -e "${1}${FIX_SPACE}${2})"
343+
}
344+
345+
mw_connect_mysql(){
346+
if [ "$SOURCE_LIST_LEN" == "0" ]; then
347+
echo -e "no data!"
348+
exit 1
349+
fi
350+
351+
cm_i=0
352+
for M in ${SOURCE_LIST_KEY[@]}; do
353+
num=`expr $cm_i + 1`
354+
AutoSizeStr "${M}" "$num"
355+
cm_i=`expr $cm_i + 1`
356+
done
357+
CHOICE_A=$(echo -e "\n${BOLD}└─ Please select and enter the database you want to log in to [ 1-${SOURCE_LIST_LEN} ]:${PLAIN}")
358+
read -p "${CHOICE_A}" INPUT
359+
360+
if [ "$INPUT" == "" ]; then
361+
echo -e "\nDefault not selected!"
362+
exit 1
363+
fi
364+
365+
if [ "$INPUT" -lt "0" ] || [ "$INPUT" -gt "${SOURCE_LIST_LEN}" ]; then
366+
echo -e "\nBoundary error not selected!"
367+
exit 1
368+
fi
369+
370+
INPUT=`expr $INPUT - 1`
371+
INPUT_KEY=${SOURCE_LIST_KEY[$INPUT]}
372+
CHOICE_DB=${DB_TYPE[$INPUT_KEY]}
373+
echo "login to ${CHOICE_DB}:"
374+
pwd=$(cd /www/server/mdserver-web && python3 /www/server/mdserver-web/plugins/${CHOICE_DB}/index.py root_pwd)
375+
if [ "$CHOICE_DB" == "mysql" ];then
376+
${ROOT_PATH}/mysql/bin/mysql -uroot -p"${pwd}"
377+
fi
378+
379+
if [ "$CHOICE_DB" == "mariadb" ];then
380+
${ROOT_PATH}/mariadb/bin/mariadb -S ${ROOT_PATH}/mariadb/mysql.sock -uroot -p"${pwd}"
381+
fi
382+
383+
if [ "$CHOICE_DB" == "mysql-apt" ];then
384+
${ROOT_PATH}/mysql-apt/bin/usr/bin/mysql -S ${ROOT_PATH}/mysql-apt/mysql.sock -uroot -p"${pwd}"
385+
fi
386+
387+
if [ "$CHOICE_DB" == "mysql-yum" ];then
388+
${ROOT_PATH}/mysql-yum/bin/usr/bin/mysql -S ${ROOT_PATH}/mysql-yum/mysql.sock -uroot -p"${pwd}"
389+
fi
390+
391+
}
392+
290393
case "$1" in
291394
'start') mw_start;;
292395
'stop') mw_stop;;
@@ -311,6 +414,7 @@ case "$1" in
311414
'unbind_domain') mw_unbind_domain;;
312415
'debug') mw_debug;;
313416
'mirror') mw_mirror;;
417+
'db') mw_connect_mysql;;
314418
'default')
315419
cd $mw_path
316420
port=7200

0 commit comments

Comments
 (0)