134 lines
3.9 KiB
Bash
134 lines
3.9 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
# 结伴客后端文件清理脚本
|
|||
|
|
# 删除不需要的文件,保持项目结构整洁
|
|||
|
|
|
|||
|
|
# 设置颜色输出
|
|||
|
|
RED='\033[0;31m'
|
|||
|
|
GREEN='\033[0;32m'
|
|||
|
|
YELLOW='\033[1;33m'
|
|||
|
|
BLUE='\033[0;34m'
|
|||
|
|
NC='\033[0m' # No Color
|
|||
|
|
|
|||
|
|
# 配置参数
|
|||
|
|
BACKEND_DIR="$(pwd)"
|
|||
|
|
|
|||
|
|
# 显示警告信息
|
|||
|
|
show_warning() {
|
|||
|
|
echo -e "${YELLOW}警告:此脚本将删除backend目录中不需要的文件。${NC}"
|
|||
|
|
echo -e "${YELLOW}请确保在运行此脚本前已备份重要数据。${NC}"
|
|||
|
|
echo -e "${BLUE}按Enter键继续,或按Ctrl+C取消...${NC}"
|
|||
|
|
read -r
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 删除指定文件
|
|||
|
|
remove_file() {
|
|||
|
|
local file_path="$1"
|
|||
|
|
if [ -f "$file_path" ]; then
|
|||
|
|
echo -e "${BLUE}删除文件: $file_path${NC}"
|
|||
|
|
rm -f "$file_path"
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
echo -e "${GREEN}已删除: $file_path${NC}"
|
|||
|
|
else
|
|||
|
|
echo -e "${RED}删除失败: $file_path${NC}"
|
|||
|
|
fi
|
|||
|
|
else
|
|||
|
|
echo -e "${YELLOW}文件不存在: $file_path${NC}"
|
|||
|
|
fi
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 删除指定目录(如果为空)
|
|||
|
|
remove_empty_dir() {
|
|||
|
|
local dir_path="$1"
|
|||
|
|
if [ -d "$dir_path" ] && [ -z "$(ls -A "$dir_path")" ]; then
|
|||
|
|
echo -e "${BLUE}删除空目录: $dir_path${NC}"
|
|||
|
|
rm -d "$dir_path"
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
echo -e "${GREEN}已删除: $dir_path${NC}"
|
|||
|
|
else
|
|||
|
|
echo -e "${RED}删除失败: $dir_path${NC}"
|
|||
|
|
fi
|
|||
|
|
fi
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 清理测试文件
|
|||
|
|
cleanup_test_files() {
|
|||
|
|
echo -e "${BLUE}\n清理测试相关文件...${NC}"
|
|||
|
|
remove_file "$BACKEND_DIR/test-api.js"
|
|||
|
|
remove_file "$BACKEND_DIR/test-swagger.js"
|
|||
|
|
# 可以保留scripts目录下的测试脚本,因为它们可能对开发有用
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 清理文档文件
|
|||
|
|
cleanup_docs() {
|
|||
|
|
echo -e "${BLUE}\n清理文档文件...${NC}"
|
|||
|
|
remove_file "$BACKEND_DIR/README_DEVELOPMENT.md"
|
|||
|
|
remove_file "$BACKEND_DIR/README_SCRIPTS.md"
|
|||
|
|
# 保留主要的README.md文件
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 清理Docker相关文件
|
|||
|
|
cleanup_docker_files() {
|
|||
|
|
echo -e "${BLUE}\n清理Docker相关文件...${NC}"
|
|||
|
|
remove_file "$BACKEND_DIR/docker-compose.yml"
|
|||
|
|
remove_file "$BACKEND_DIR/jiebanke.conf"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 清理旧的启动脚本
|
|||
|
|
cleanup_old_scripts() {
|
|||
|
|
echo -e "${BLUE}\n清理旧的启动脚本...${NC}"
|
|||
|
|
remove_file "$BACKEND_DIR/start.sh"
|
|||
|
|
remove_file "$BACKEND_DIR/stop.sh"
|
|||
|
|
remove_file "$BACKEND_DIR/restart.sh"
|
|||
|
|
remove_file "$BACKEND_DIR/status.sh"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 清理临时文件和缓存
|
|||
|
|
cleanup_temp_files() {
|
|||
|
|
echo -e "${BLUE}\n清理临时文件和缓存...${NC}"
|
|||
|
|
find "$BACKEND_DIR" -name "*.log" -exec rm -f {} \;
|
|||
|
|
find "$BACKEND_DIR" -name "*.tmp" -exec rm -f {} \;
|
|||
|
|
find "$BACKEND_DIR" -name "*.temp" -exec rm -f {} \;
|
|||
|
|
find "$BACKEND_DIR" -name ".DS_Store" -exec rm -f {} \;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 验证并设置脚本权限
|
|||
|
|
set_script_permissions() {
|
|||
|
|
echo -e "${BLUE}\n设置脚本执行权限...${NC}"
|
|||
|
|
# 为新创建的脚本设置执行权限
|
|||
|
|
chmod +x "$BACKEND_DIR/sync_to_server.sh" 2>/dev/null
|
|||
|
|
chmod +x "$BACKEND_DIR/start_server.sh" 2>/dev/null
|
|||
|
|
chmod +x "$BACKEND_DIR/cleanup_files.sh" 2>/dev/null
|
|||
|
|
echo -e "${GREEN}脚本权限设置完成${NC}"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 显示清理结果摘要
|
|||
|
|
show_summary() {
|
|||
|
|
echo -e "${GREEN}\n文件清理完成!${NC}"
|
|||
|
|
echo -e "${YELLOW}剩余核心文件:${NC}"
|
|||
|
|
echo -e " - package.json, package-lock.json (项目依赖配置)"
|
|||
|
|
echo -e " - .env, .env.example (环境配置)"
|
|||
|
|
echo -e " - ecosystem.config.js (PM2配置)"
|
|||
|
|
echo -e " - src/ (源代码目录)"
|
|||
|
|
echo -e " - config/ (配置目录)"
|
|||
|
|
echo -e " - scripts/ (脚本目录)"
|
|||
|
|
echo -e " - README.md (项目说明)"
|
|||
|
|
echo -e " - sync_to_server.sh (新的同步脚本)"
|
|||
|
|
echo -e " - start_server.sh (新的服务器启动脚本)"
|
|||
|
|
echo -e " - cleanup_files.sh (此清理脚本)"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 执行清理
|
|||
|
|
main() {
|
|||
|
|
show_warning
|
|||
|
|
cleanup_test_files
|
|||
|
|
cleanup_docs
|
|||
|
|
cleanup_docker_files
|
|||
|
|
cleanup_old_scripts
|
|||
|
|
cleanup_temp_files
|
|||
|
|
set_script_permissions
|
|||
|
|
show_summary
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 执行主函数
|
|||
|
|
main
|