|
|
@@ -0,0 +1,82 @@
|
|
|
+#!/bin/bash
|
|
|
+# map_services_here.sh
|
|
|
+
|
|
|
+# 源目录
|
|
|
+SOURCE_DIR="/data/servers"
|
|
|
+
|
|
|
+# 需要映射的服务列表
|
|
|
+SERVICES=(
|
|
|
+ "auth"
|
|
|
+ "battleboss"
|
|
|
+ "battlerecord"
|
|
|
+ "crossrank"
|
|
|
+ "crossrouter"
|
|
|
+ "crossserver"
|
|
|
+ "db"
|
|
|
+ "game"
|
|
|
+ "gate"
|
|
|
+ "gmweb"
|
|
|
+ "guild"
|
|
|
+ "rank"
|
|
|
+ "social"
|
|
|
+)
|
|
|
+
|
|
|
+# 当前目录
|
|
|
+CURRENT_DIR="$(pwd)"
|
|
|
+
|
|
|
+echo "正在从 $SOURCE_DIR 映射服务到当前目录: $CURRENT_DIR"
|
|
|
+echo "================================================"
|
|
|
+
|
|
|
+# 检查源目录是否存在
|
|
|
+if [ ! -d "$SOURCE_DIR" ]; then
|
|
|
+ echo "错误: 源目录 $SOURCE_DIR 不存在!"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+# 统计
|
|
|
+created_count=0
|
|
|
+skipped_count=0
|
|
|
+missing_count=0
|
|
|
+
|
|
|
+# 为每个服务创建软链接
|
|
|
+for service in "${SERVICES[@]}"; do
|
|
|
+ source_path="$SOURCE_DIR/$service"
|
|
|
+ target_link="./$service"
|
|
|
+
|
|
|
+ # 检查源服务是否存在
|
|
|
+ if [ ! -e "$source_path" ]; then
|
|
|
+ echo "⚠ 源服务不存在: $service"
|
|
|
+ ((missing_count++))
|
|
|
+ continue
|
|
|
+ fi
|
|
|
+
|
|
|
+ # 如果链接已存在,询问是否覆盖
|
|
|
+ if [ -e "$target_link" ]; then
|
|
|
+ echo -n "链接 $target_link 已存在,是否覆盖?[y/N]: "
|
|
|
+ read -r response
|
|
|
+ if [[ "$response" =~ ^[Yy]$ ]]; then
|
|
|
+ rm -f "$target_link"
|
|
|
+ ln -sn "$source_path" "$target_link"
|
|
|
+ echo "✓ 已覆盖: $service"
|
|
|
+ ((created_count++))
|
|
|
+ else
|
|
|
+ echo "✗ 跳过: $service"
|
|
|
+ ((skipped_count++))
|
|
|
+ fi
|
|
|
+ else
|
|
|
+ # 创建软链接
|
|
|
+ ln -sn "$source_path" "$target_link"
|
|
|
+ echo "✓ 映射: $service"
|
|
|
+ ((created_count++))
|
|
|
+ fi
|
|
|
+done
|
|
|
+
|
|
|
+echo ""
|
|
|
+echo "================================================"
|
|
|
+echo "映射完成!"
|
|
|
+echo "创建链接: $created_count 个"
|
|
|
+echo "跳过: $skipped_count 个"
|
|
|
+echo "源服务不存在: $missing_count 个"
|
|
|
+echo ""
|
|
|
+echo "当前目录内容:"
|
|
|
+ls -l
|