Files
jiebanke/backend/cleanup_files.sh

134 lines
3.9 KiB
Bash
Raw Normal View History

2025-09-11 13:11:04 +08:00
#!/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