#!/bin/bash

# 检查是否存在名为v2b1、v2p1、v2f1的docker容器
containers=("v2b1" "v2p1" "v2f1")
for container in "${containers[@]}"
do
    if docker inspect "$container" &>/dev/null; then
        # 通过docker inspect 容器名字获取输出中的64位ID值作为容器的ID
        container_id=$(docker inspect -f '{{.Id}}' "$container")
        echo "容器 $container 存在，ID为 $container_id。"

        # 删除主机/var/lib/docker/containers/容器的ID/目录下以-json.log结尾的日志文件
        logs_dir="/var/lib/docker/containers/$container_id/"
        if [ -d "$logs_dir" ]; then
            for file in "$logs_dir"*-json.log
            do
                if [ -f "$file" ]; then
                    rm "$file"
                    echo "已删除容器 $container 的日志文件 $file。"
                fi
            done
        fi

        # 获取存在的容器短ID
        container_short_id=$(docker ps -aqf "name=$container")

        # 删除存在的容器中/root/log.txt和存在的容器中/var/log/v2ray/目录下的所有文件
        docker exec "$container_short_id" rm /root/log.txt
        echo "已删除容器 $container 中的 /root/log.txt 文件。"
        docker exec "$container_short_id" sh -c 'rm -rf /var/log/v2ray/*'
        echo "已删除容器 $container 中的 /var/log/v2ray 目录下的所有文件。"

        # 重启存在的容器
        docker restart "$container_short_id"
        echo "已重启容器 $container。"
    else
        echo "容器 $container 不存在。"
    fi
done

# 删除系统中/var/log/和子目录下所有的压缩文件
find /var/log -type f -name "*.gz" -delete
echo "已删除系统日志目录下的所有的压缩文件。"

# 重启nginx服务
systemctl restart nginx
echo "已重启nginx服务。"

echo "所有操作完成。"
echo "脚本执行完毕，即将自我删除..."
rm -- "$0"

