上传文件至 /

This commit is contained in:
2025-04-15 05:58:55 +00:00
commit 5c75fc07d0
4 changed files with 346 additions and 0 deletions

149
filter_token.sh Normal file
View 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}"