Rename to hkt.sh
This commit is contained in:
114
projects/vps/test-app-scan.sh
Executable file
114
projects/vps/test-app-scan.sh
Executable file
@@ -0,0 +1,114 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 测试VPS快照脚本的应用扫描功能
|
||||
# 基于 vps-snapshot.sh v3.14 的 detect_apps 函数
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m'
|
||||
|
||||
info() { echo -e "${CYAN}[INFO] $1${NC}"; }
|
||||
|
||||
detect_apps() {
|
||||
info "🔍 扫描已安装的应用..."
|
||||
echo ""
|
||||
|
||||
local apps=()
|
||||
|
||||
# Docker
|
||||
if command -v docker &>/dev/null && docker info &>/dev/null; then
|
||||
local containers=$(docker ps -q | wc -l)
|
||||
local images=$(docker images -q | wc -l)
|
||||
echo -e " ${GREEN}✓${NC} Docker: $containers 个运行中容器, $images 个镜像"
|
||||
apps+=("docker")
|
||||
fi
|
||||
|
||||
# Docker Compose
|
||||
if command -v docker-compose &>/dev/null || docker compose version &>/dev/null 2>&1; then
|
||||
local compose_files=$(find /opt /root /home -name "docker-compose*.yml" -o -name "compose*.yml" 2>/dev/null | wc -l)
|
||||
echo -e " ${GREEN}✓${NC} Docker Compose: $compose_files 个配置文件"
|
||||
apps+=("compose")
|
||||
fi
|
||||
|
||||
# Nginx
|
||||
if command -v nginx &>/dev/null || [ -d /etc/nginx ]; then
|
||||
echo -e " ${GREEN}✓${NC} Nginx"
|
||||
apps+=("nginx")
|
||||
fi
|
||||
|
||||
# MySQL/MariaDB
|
||||
if command -v mysql &>/dev/null || [ -d /var/lib/mysql ]; then
|
||||
echo -e " ${GREEN}✓${NC} MySQL/MariaDB"
|
||||
apps+=("mysql")
|
||||
fi
|
||||
|
||||
# PostgreSQL
|
||||
if command -v psql &>/dev/null || [ -d /var/lib/postgresql ]; then
|
||||
echo -e " ${GREEN}✓${NC} PostgreSQL"
|
||||
apps+=("postgresql")
|
||||
fi
|
||||
|
||||
# Redis
|
||||
if command -v redis-cli &>/dev/null || [ -d /var/lib/redis ]; then
|
||||
echo -e " ${GREEN}✓${NC} Redis"
|
||||
apps+=("redis")
|
||||
fi
|
||||
|
||||
# MongoDB
|
||||
if command -v mongod &>/dev/null || [ -d /var/lib/mongodb ]; then
|
||||
echo -e " ${GREEN}✓${NC} MongoDB"
|
||||
apps+=("mongodb")
|
||||
fi
|
||||
|
||||
# Node.js/NPM
|
||||
if command -v node &>/dev/null; then
|
||||
local node_ver=$(node -v 2>/dev/null || echo "unknown")
|
||||
local npm_global=$(npm list -g --depth=0 2>/dev/null | wc -l)
|
||||
echo -e " ${GREEN}✓${NC} Node.js $node_ver ($npm_global 个全局包)"
|
||||
apps+=("nodejs")
|
||||
fi
|
||||
|
||||
# PM2
|
||||
if command -v pm2 &>/dev/null; then
|
||||
local pm2_apps=$(pm2 jlist 2>/dev/null | jq length 2>/dev/null || echo "0")
|
||||
echo -e " ${GREEN}✓${NC} PM2: $pm2_apps 个应用"
|
||||
apps+=("pm2")
|
||||
fi
|
||||
|
||||
# Python/Pip
|
||||
if command -v python3 &>/dev/null; then
|
||||
local py_ver=$(python3 --version 2>/dev/null | cut -d' ' -f2)
|
||||
echo -e " ${GREEN}✓${NC} Python $py_ver"
|
||||
apps+=("python")
|
||||
fi
|
||||
|
||||
# PHP
|
||||
if command -v php &>/dev/null; then
|
||||
local php_ver=$(php -v 2>/dev/null | head -1 | cut -d' ' -f2)
|
||||
echo -e " ${GREEN}✓${NC} PHP $php_ver"
|
||||
apps+=("php")
|
||||
fi
|
||||
|
||||
# 1Panel
|
||||
if [ -d /opt/1panel ] || command -v 1pctl &>/dev/null; then
|
||||
echo -e " ${GREEN}✓${NC} 1Panel"
|
||||
apps+=("1panel")
|
||||
fi
|
||||
|
||||
# 宝塔
|
||||
if [ -d /www/server/panel ]; then
|
||||
echo -e " ${GREEN}✓${NC} 宝塔面板"
|
||||
apps+=("bt")
|
||||
fi
|
||||
|
||||
echo ""
|
||||
info "检测到的应用: ${apps[*]}"
|
||||
echo ""
|
||||
info "应用扫描完成!"
|
||||
}
|
||||
|
||||
# 运行应用扫描
|
||||
detect_apps
|
||||
Reference in New Issue
Block a user