Files
jiebanke/backend/cleanup_files.sh

134 lines
3.9 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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