فهرست منبع

Merge remote-tracking branch 'origin/main'

# Conflicts:
#	install_script.sh
jonssonyan 2 سال پیش
والد
کامیت
5098a9463c
1فایلهای تغییر یافته به همراه76 افزوده شده و 34 حذف شده
  1. 76 34
      install_script.sh

+ 76 - 34
install_script.sh

@@ -910,6 +910,42 @@ uninstall_all() {
   echo_content skyBlue "---> 卸载全部Trojan Panel相关的容器完成"
 }
 
+# 刷新Redis缓存
+redis_flush_all() {
+  # 判断Redis是否安装
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-redis$") ]]; then
+    echo_content red "---> 请先安装Redis"
+    exit 0
+  fi
+
+  if [[ -z $(docker ps -q -f "name=^trojan-panel-redis$" -f "status=running") ]]; then
+    echo_content red "---> Redis运行异常"
+    exit 0
+  fi
+
+  echo_content green "---> 刷新Redis缓存"
+
+  read -r -p "请输入Redis的IP地址(默认:本机Redis): " redis_host
+  [[ -z "${redis_host}" ]] && redis_host="127.0.0.1"
+  read -r -p "请输入Redis的端口(默认:本机Redis端口): " redis_port
+  [[ -z "${redis_port}" ]] && redis_port=6379
+  while read -r -p "请输入Redis的密码(必填): " redis_pass; do
+    if [[ -z "${redis_pass}" ]]; then
+      echo_content red "密码不能为空"
+    else
+      break
+    fi
+  done
+
+  if [[ "${redis_host}" == "127.0.0.1" ]]; then
+    docker exec trojan-panel-redis redis-cli -a "${redis_pass}" -e "flushall" &>/dev/null
+  else
+    docker exec trojan-panel-redis redis-cli -h "${redis_host}" -p ${redis_port} -a "${redis_pass}" -e "flushall" &>/dev/null
+  fi
+
+  echo_content skyBlue "---> Redis缓存刷新完成"
+}
+
 # 故障检测
 failure_testing() {
   echo_content green "---> 故障检测开始"
@@ -944,39 +980,41 @@ failure_testing() {
   echo_content green "---> 故障检测结束"
 }
 
-redis_flush_all() {
-  # 判断Redis是否安装
-  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-redis$") ]]; then
-    echo_content red "---> 请先安装Redis"
-    exit 0
-  fi
-
-  if [[ -z $(docker ps -q -f "name=^trojan-panel-redis$" -f "status=running") ]]; then
-    echo_content red "---> Redis运行异常"
-    exit 0
-  fi
-
-  echo_content green "---> 刷新Redis缓存"
-
-  read -r -p "请输入Redis的IP地址(默认:本机Redis): " redis_host
-  [[ -z "${redis_host}" ]] && redis_host="127.0.0.1"
-  read -r -p "请输入Redis的端口(默认:本机Redis端口): " redis_port
-  [[ -z "${redis_port}" ]] && redis_port=6379
-  while read -r -p "请输入Redis的密码(必填): " redis_pass; do
-    if [[ -z "${redis_pass}" ]]; then
-      echo_content red "密码不能为空"
-    else
+log_query() {
+  while :; do
+    echo_content skyBlue "可以查询日志的应用如下:"
+    echo_content yellow "1. Trojan Panel"
+    echo_content yellow "2. Trojan Panel Core"
+    echo_content yellow "3. 退出"
+    read -r -p "请选择应用(默认:1): " select_log_query_type
+    [[ -z "${select_log_query_type}" ]] && select_log_query_type=1
+
+    case ${select_log_query_type} in
+    1)
+      log_file_path=${TROJAN_PANEL_LOGS}trojan-panel.log
+      ;;
+    2)
+      log_file_path=${TROJAN_PANEL_CORE_LOGS}trojan-panel-core.log
+      ;;
+    3)
       break
+      ;;
+    *)
+      echo_content red "没有这个选项"
+      continue
+      ;;
+    esac
+
+    read -r -p "请输入查询的行数(默认:20): " select_log_query_line_type
+    [[ -z "${select_log_query_line_type}" ]] && select_log_query_line_type=20
+
+    if [[ -f ${log_file_path} ]]; then
+      echo_content skyBlue "日志文件如下:"
+      tail -n ${select_log_query_line_type} ${log_file_path}
+    else
+      echo_content red "不存在日志文件"
     fi
   done
-
-  if [[ "${redis_host}" == "127.0.0.1" ]]; then
-    docker exec trojan-panel-redis redis-cli -a "${redis_pass}" -e "flushall" &>/dev/null
-  else
-    docker exec trojan-panel-redis redis-cli -h "${redis_host}" -p ${redis_port} -a "${redis_pass}" -e "flushall" &>/dev/null
-  fi
-
-  echo_content skyBlue "---> Redis缓存刷新完成"
 }
 
 main() {
@@ -1012,8 +1050,9 @@ main() {
   echo_content yellow "13. 卸载Redis"
   echo_content yellow "14. 卸载全部Trojan Panel相关的容器"
   echo_content green "\n=============================================================="
-  echo_content yellow "15. 故障检测"
-  echo_content yellow "16. 刷新Redis缓存"
+  echo_content yellow "15. 刷新Redis缓存"
+  echo_content yellow "16. 故障检测"
+  echo_content yellow "17. 日志查询"
   read -r -p "请选择:" selectInstall_type
   case ${selectInstall_type} in
   1)
@@ -1065,10 +1104,13 @@ main() {
     uninstall_all
     ;;
   15)
-    failure_testing
+    redis_flush_all
     ;;
   16)
-    redis_flush_all
+    failure_testing
+    ;;
+  17)
+    log_query
     ;;
   *)
     echo_content red "没有这个选项"