#!/bin/bash
#***************************************************************#
# ScriptName: grade071001.sh
# Author: xhy
# Create Date: 2025-07-01 20:58
# Modify Author: xhy
# Modify Date: 2025-07-11 00:49
# Version: v1
#***************************************************************#

# 开始判分
echo "开始第一题判分！"
sleep 2s

# 初始化总分
total_score=0

# 定义主机信息
host01="172.24.8.11"
host02="172.24.8.12"
host03="172.24.8.13"
host04="172.24.8.14"
host05="172.24.8.15"
vip="172.24.8.200"

# 1. 容器基础检查（5分）
echo "==== 基础容器配置检查 ===="
if ssh $host01 "docker inspect mynginx &>/dev/null" && \
   ssh $host02 "docker inspect mynginx &>/dev/null"; then
    echo "a: 正确 (5分)!"
    total_score=$((total_score + 5))
else
    echo "a：未找到对应的容器！"
fi

# 2. 网桥配置检查（5分）
echo -e "\n==== 网桥配置检查 ===="
if ssh $host01 "docker network ls | grep mynginxnet &>/dev/null" && \
       ssh $host02 "docker network ls | grep mynginxnet &>/dev/null"; then
    echo "b: 正确 (5分)!"
    total_score=$((total_score + 5))
else
    echo "b：未找到对应的网络！"
fi

# 3. 持久化存储检查（15分）
echo -e "\n==== 持久化存储检查 ===="
# 3.1 默认根目录（3分）

if ssh $host01 'docker inspect mynginx | grep "/data/nginx/webroot" &>/dev/null' && \
       ssh $host02 'docker inspect mynginx | grep "/data/nginx/webroot" &>/dev/null'; then
    echo "c01: 正确 (3分)!"
    total_score=$((total_score + 3))
    else
    echo "c01：容器根目录没有挂载！"
fi

# 3.2 host01虚拟配置文件（3）分

if ssh $host01 'docker inspect mynginx | grep "/data/nginx/config/vhost.conf" &>/dev/null'; then
    echo "c02: 正确 (3分)!"
    total_score=$((total_score + 3))
else
    echo "c02：host01容器没有挂载虚拟主机配置文件！"
fi

# 3.3 host01虚拟主机根目录（3）分

if ssh $host01 'docker inspect mynginx | grep "/data/nginx/vhdata" &>/dev/null'; then
    echo "c03: 正确 (3分)!"
    total_score=$((total_score + 3))
else
    echo "c03：host01容器没有挂载虚拟主机根目录！"
fi

# 3.4 host02虚拟配置文件（3）分

if ssh $host02 'docker inspect mynginx | grep "/data/nginx/config/vhost.conf" &>/dev/null'; then
    echo "c04: 正确 (3分)!"
    total_score=$((total_score + 3))
else
    echo "c04：host02容器没有挂载虚拟主机配置文件！"
fi

# 3.5 host02虚拟主机根目录（3）分

if ssh $host02 'docker inspect mynginx | grep "/data/nginx/vhdata" &>/dev/null'; then
    echo "c05: 正确 (3分)!"
    total_score=$((total_score + 3))
else
    echo "c05：host02容器没有挂载虚拟主机根目录！"
fi

# 4. 端口映射检查（5分）
echo -e "\n==== 端口映射检查 ===="
if ssh $host01 'docker port mynginx 80 | grep -q 8888' && \
   ssh $host02 'docker port mynginx 80 | grep -q 8888'; then
    echo "d：正确（5分）!"
    total_score=$((total_score + 5))
else
    echo "d：端口映射不正确！"
fi

# 5. 主页内容检查（5分）
echo -e "\n==== 主页内容检查 ===="
if ssh $host01 'curl -s http://www.linuxds.com | grep -q "welcome to my website"'; then
    echo "e：正确（5分）!"
    total_score=$((total_score + 5))
else
    echo "e：官网部署不正确！"
fi

# 6. 镜像导出检查（5分）
echo -e "\n==== 导出镜像检查 ===="
if curl -s -I http://down.linuxds.com/nginx_1.29.0.tar | grep -q "200 OK"; then
    echo "d: 正确 (5分)!"
    total_score=$((total_score + 5))
else
    echo "f: 下载站点配置错误!"
fi

# 最终结果
echo -e "\n第一题得分/总分: $total_score/40分\n\n"
