上传文件至 /
This commit is contained in:
149
filter_token.sh
Normal file
149
filter_token.sh
Normal file
@@ -0,0 +1,149 @@
|
||||
#!/bin/bash
|
||||
# filter_token.sh - CursorTokenFilter交互脚本
|
||||
|
||||
# 颜色定义
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # 恢复默认颜色
|
||||
|
||||
# 工作目录
|
||||
WORK_DIR="/www/wwwroot/api2.nosqli.com"
|
||||
LOG_DIR="$WORK_DIR/runtime/log"
|
||||
DEFAULT_OUTPUT="$WORK_DIR/tokens_$(date +%Y%m%d).csv"
|
||||
|
||||
# 确保工作目录存在
|
||||
cd "$WORK_DIR" || {
|
||||
echo -e "${RED}错误: 无法进入工作目录 $WORK_DIR${NC}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 如果venv存在则激活
|
||||
if [ -d "venv" ]; then
|
||||
source venv/bin/activate
|
||||
fi
|
||||
|
||||
# 显示标题
|
||||
echo -e "${GREEN}=================================${NC}"
|
||||
echo -e "${GREEN} Cursor Token 筛选工具 ${NC}"
|
||||
echo -e "${GREEN}=================================${NC}"
|
||||
|
||||
# 选择日期
|
||||
echo -e "${BLUE}请选择要筛选的日期:${NC}"
|
||||
echo "1) 今天"
|
||||
echo "2) 昨天"
|
||||
echo "3) 前天"
|
||||
echo "4) 指定日期"
|
||||
echo "5) 默认(不指定日期)"
|
||||
read -p "请输入选项 [1-5]: " date_option
|
||||
|
||||
case $date_option in
|
||||
1)
|
||||
date_param=$(date +%Y%m%d)
|
||||
echo -e "${GREEN}已选择今天: $date_param${NC}"
|
||||
;;
|
||||
2)
|
||||
date_param=$(date -d "yesterday" +%Y%m%d)
|
||||
echo -e "${GREEN}已选择昨天: $date_param${NC}"
|
||||
;;
|
||||
3)
|
||||
date_param=$(date -d "2 days ago" +%Y%m%d)
|
||||
echo -e "${GREEN}已选择前天: $date_param${NC}"
|
||||
;;
|
||||
4)
|
||||
read -p "请输入日期 (格式: YYYYMMDD): " date_param
|
||||
echo -e "${GREEN}已选择指定日期: $date_param${NC}"
|
||||
;;
|
||||
5)
|
||||
date_param=""
|
||||
echo -e "${GREEN}使用默认日期${NC}"
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}无效选项,使用默认日期${NC}"
|
||||
date_param=""
|
||||
;;
|
||||
esac
|
||||
|
||||
# 是否仅显示有效Token
|
||||
echo -e "${BLUE}是否仅显示有效Token?${NC}"
|
||||
echo "1) 是"
|
||||
echo "2) 否"
|
||||
read -p "请输入选项 [1-2]: " valid_option
|
||||
|
||||
if [ "$valid_option" = "1" ]; then
|
||||
valid_param="--valid-only"
|
||||
echo -e "${GREEN}仅显示有效Token${NC}"
|
||||
else
|
||||
valid_param=""
|
||||
echo -e "${GREEN}显示所有Token${NC}"
|
||||
fi
|
||||
|
||||
# 自定义输出路径
|
||||
echo -e "${BLUE}是否使用自定义输出路径?${NC}"
|
||||
echo "1) 是"
|
||||
echo "2) 否 (使用默认路径: $DEFAULT_OUTPUT)"
|
||||
read -p "请输入选项 [1-2]: " output_option
|
||||
|
||||
if [ "$output_option" = "1" ]; then
|
||||
read -p "请输入输出CSV文件路径: " output_param
|
||||
echo -e "${GREEN}使用自定义输出路径: $output_param${NC}"
|
||||
else
|
||||
output_param=$DEFAULT_OUTPUT
|
||||
echo -e "${GREEN}使用默认输出路径: $output_param${NC}"
|
||||
fi
|
||||
|
||||
# 构建命令
|
||||
if [ -n "$date_param" ]; then
|
||||
CMD="php think CursorTokenFilter $date_param"
|
||||
else
|
||||
CMD="php think CursorTokenFilter"
|
||||
fi
|
||||
|
||||
if [ -n "$valid_param" ]; then
|
||||
CMD="$CMD $valid_param"
|
||||
fi
|
||||
|
||||
if [ -n "$output_param" ]; then
|
||||
CMD="$CMD --output=$output_param"
|
||||
fi
|
||||
|
||||
# 询问运行模式
|
||||
echo -e "${BLUE}请选择运行模式:${NC}"
|
||||
echo "1) 前台运行"
|
||||
echo "2) 后台运行"
|
||||
read -p "请输入选项 [1-2]: " run_mode
|
||||
|
||||
# 显示将要执行的命令
|
||||
echo -e "${YELLOW}即将执行命令: $CMD${NC}"
|
||||
read -p "按回车键确认执行..." confirm
|
||||
|
||||
# 根据运行模式执行命令
|
||||
if [ "$run_mode" = "2" ]; then
|
||||
# 后台运行
|
||||
LOG_FILE="$LOG_DIR/filter_$(date +%Y%m%d_%H%M%S).log"
|
||||
echo -e "${GREEN}正在后台运行...${NC}"
|
||||
nohup $CMD > "$LOG_FILE" 2>&1 &
|
||||
PID=$!
|
||||
echo $PID > filter.pid
|
||||
echo -e "${GREEN}服务已在后台启动,PID: $PID${NC}"
|
||||
echo -e "${GREEN}日志文件: $LOG_FILE${NC}"
|
||||
|
||||
# 询问是否实时查看日志
|
||||
echo -e "${BLUE}是否实时查看日志?${NC}"
|
||||
echo "1) 是"
|
||||
echo "2) 否"
|
||||
read -p "请输入选项 [1-2]: " view_log
|
||||
|
||||
if [ "$view_log" = "1" ]; then
|
||||
echo -e "${GREEN}正在查看日志,按Ctrl+C退出日志查看...${NC}"
|
||||
tail -f "$LOG_FILE"
|
||||
fi
|
||||
else
|
||||
# 前台运行
|
||||
echo -e "${GREEN}正在前台运行...${NC}"
|
||||
$CMD
|
||||
echo -e "${GREEN}执行完成${NC}"
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}操作完成!${NC}"
|
||||
157
import_token.sh
Normal file
157
import_token.sh
Normal file
@@ -0,0 +1,157 @@
|
||||
#!/bin/bash
|
||||
# import_token.sh - CursorTokenImport交互脚本
|
||||
|
||||
# 颜色定义
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # 恢复默认颜色
|
||||
|
||||
# 工作目录
|
||||
WORK_DIR="/www/wwwroot/api2.nosqli.com"
|
||||
LOG_DIR="$WORK_DIR/runtime/log"
|
||||
|
||||
# 确保工作目录存在
|
||||
cd "$WORK_DIR" || {
|
||||
echo -e "${RED}错误: 无法进入工作目录 $WORK_DIR${NC}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 如果venv存在则激活
|
||||
if [ -d "venv" ]; then
|
||||
source venv/bin/activate
|
||||
fi
|
||||
|
||||
# 显示标题
|
||||
echo -e "${GREEN}=================================${NC}"
|
||||
echo -e "${GREEN} Cursor Token 导入工具 ${NC}"
|
||||
echo -e "${GREEN}=================================${NC}"
|
||||
|
||||
# 筛选日期
|
||||
echo -e "${BLUE}请选择要导入的Token日期:${NC}"
|
||||
echo "1) 今天"
|
||||
echo "2) 昨天"
|
||||
echo "3) 前天"
|
||||
echo "4) 指定日期"
|
||||
echo "5) 不指定日期"
|
||||
read -p "请输入选项 [1-5]: " date_option
|
||||
|
||||
case $date_option in
|
||||
1)
|
||||
date_param=$(date +%Y%m%d)
|
||||
echo -e "${GREEN}已选择今天: $date_param${NC}"
|
||||
;;
|
||||
2)
|
||||
date_param=$(date -d "yesterday" +%Y%m%d)
|
||||
echo -e "${GREEN}已选择昨天: $date_param${NC}"
|
||||
;;
|
||||
3)
|
||||
date_param=$(date -d "2 days ago" +%Y%m%d)
|
||||
echo -e "${GREEN}已选择前天: $date_param${NC}"
|
||||
;;
|
||||
4)
|
||||
read -p "请输入日期 (格式: YYYYMMDD): " date_param
|
||||
echo -e "${GREEN}已选择指定日期: $date_param${NC}"
|
||||
;;
|
||||
5)
|
||||
date_param=""
|
||||
echo -e "${GREEN}不指定日期${NC}"
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}无效选项,不指定日期${NC}"
|
||||
date_param=""
|
||||
;;
|
||||
esac
|
||||
|
||||
# 选择筛选条件
|
||||
echo -e "${BLUE}请选择筛选条件:${NC}"
|
||||
echo "1) 使用量少于指定次数"
|
||||
echo "2) 使用率低于指定百分比且剩余至少指定天数"
|
||||
echo "3) 导入专业版账号"
|
||||
echo "4) 自定义参数组合"
|
||||
echo "5) 不使用筛选条件"
|
||||
read -p "请输入选项 [1-5]: " filter_option
|
||||
|
||||
case $filter_option in
|
||||
1)
|
||||
read -p "请输入最大使用次数: " max_used
|
||||
filter_param="--max-used=$max_used"
|
||||
echo -e "${GREEN}筛选条件: 使用量少于 $max_used 次${NC}"
|
||||
;;
|
||||
2)
|
||||
read -p "请输入最大使用率(%): " max_usage
|
||||
read -p "请输入最小剩余天数: " min_days
|
||||
filter_param="--max-usage=$max_usage --min-days=$min_days"
|
||||
echo -e "${GREEN}筛选条件: 使用率低于 $max_usage% 且剩余至少 $min_days 天${NC}"
|
||||
;;
|
||||
3)
|
||||
read -p "请输入最大使用次数: " max_used
|
||||
filter_param="--source=pro --max-used=$max_used"
|
||||
echo -e "${GREEN}筛选条件: 专业版账号使用量少于 $max_used 次${NC}"
|
||||
;;
|
||||
4)
|
||||
echo -e "${YELLOW}请输入自定义参数 (例如: --max-usage=30 --min-days=2)${NC}"
|
||||
read -p "自定义参数: " filter_param
|
||||
echo -e "${GREEN}筛选条件: $filter_param${NC}"
|
||||
;;
|
||||
5)
|
||||
filter_param=""
|
||||
echo -e "${GREEN}不使用筛选条件${NC}"
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}无效选项,不使用筛选条件${NC}"
|
||||
filter_param=""
|
||||
;;
|
||||
esac
|
||||
|
||||
# 构建命令
|
||||
CMD="php think CursorTokenImport"
|
||||
|
||||
if [ -n "$date_param" ]; then
|
||||
CMD="$CMD $date_param"
|
||||
fi
|
||||
|
||||
if [ -n "$filter_param" ]; then
|
||||
CMD="$CMD $filter_param"
|
||||
fi
|
||||
|
||||
# 询问运行模式
|
||||
echo -e "${BLUE}请选择运行模式:${NC}"
|
||||
echo "1) 前台运行"
|
||||
echo "2) 后台运行"
|
||||
read -p "请输入选项 [1-2]: " run_mode
|
||||
|
||||
# 显示将要执行的命令
|
||||
echo -e "${YELLOW}即将执行命令: $CMD${NC}"
|
||||
read -p "按回车键确认执行..." confirm
|
||||
|
||||
# 根据运行模式执行命令
|
||||
if [ "$run_mode" = "2" ]; then
|
||||
# 后台运行
|
||||
LOG_FILE="$LOG_DIR/import_$(date +%Y%m%d_%H%M%S).log"
|
||||
echo -e "${GREEN}正在后台运行...${NC}"
|
||||
nohup $CMD > "$LOG_FILE" 2>&1 &
|
||||
PID=$!
|
||||
echo $PID > import.pid
|
||||
echo -e "${GREEN}服务已在后台启动,PID: $PID${NC}"
|
||||
echo -e "${GREEN}日志文件: $LOG_FILE${NC}"
|
||||
|
||||
# 询问是否实时查看日志
|
||||
echo -e "${BLUE}是否实时查看日志?${NC}"
|
||||
echo "1) 是"
|
||||
echo "2) 否"
|
||||
read -p "请输入选项 [1-2]: " view_log
|
||||
|
||||
if [ "$view_log" = "1" ]; then
|
||||
echo -e "${GREEN}正在查看日志,按Ctrl+C退出日志查看...${NC}"
|
||||
tail -f "$LOG_FILE"
|
||||
fi
|
||||
else
|
||||
# 前台运行
|
||||
echo -e "${GREEN}正在前台运行...${NC}"
|
||||
$CMD
|
||||
echo -e "${GREEN}执行完成${NC}"
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}操作完成!${NC}"
|
||||
19
start_service.sh
Normal file
19
start_service.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
# start_service.sh - 启动服务脚本
|
||||
|
||||
# 颜色定义
|
||||
GREEN='\033[0;32m'
|
||||
NC='\033[0m' # 恢复默认颜色
|
||||
|
||||
# 切换到工作目录
|
||||
cd /www/wwwroot/api2.nosqli.com
|
||||
|
||||
# 如果venv存在则激活
|
||||
if [ -d "venv" ]; then
|
||||
source venv/bin/activate
|
||||
fi
|
||||
|
||||
# 启动服务
|
||||
php think CursorTokenFilter >> runtime/log/service.log 2>&1 &
|
||||
echo $! > service.pid
|
||||
echo -e "${GREEN}服务已在后台启动,PID: $(cat service.pid)${NC}"
|
||||
21
stop_service.sh
Normal file
21
stop_service.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
# stop_service.sh - 停止服务脚本
|
||||
|
||||
# 颜色定义
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
NC='\033[0m' # 恢复默认颜色
|
||||
|
||||
# 切换到工作目录
|
||||
cd /www/wwwroot/api2.nosqli.com
|
||||
|
||||
# 检查PID文件
|
||||
if [ -f service.pid ]; then
|
||||
pid=$(cat service.pid)
|
||||
echo -e "${YELLOW}停止PID为 $pid 的服务...${NC}"
|
||||
kill $pid
|
||||
rm service.pid
|
||||
echo -e "${GREEN}服务已停止${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}找不到PID文件,服务可能未运行${NC}"
|
||||
fi
|
||||
Reference in New Issue
Block a user