#!/bin/bash # 查哪些服务真在跑、哪些是遗留(只读) set -u echo "════════ 1. MySQL / MariaDB ════════" for svc in mysql mariadb mysqld; do st=$(systemctl is-active $svc 2>/dev/null) en=$(systemctl is-enabled $svc 2>/dev/null) if [ -n "$st" ] || [ -n "$en" ]; then echo " $svc: active=$st enabled=$en" fi done echo " 进程: $(pgrep -c -f 'mysqld|mariadb' 2>/dev/null || echo 0) 个" pgrep -a -f 'mysqld|mariadb' 2>/dev/null | head -3 | sed 's/^/ /' echo " 数据目录: $(du -sh /var/lib/mysql 2>/dev/null | awk '{print $1}')" echo " 包还在不在: $(dpkg -l 2>/dev/null | grep -cE '^ii +(mysql|mariadb)' ) 个已安装" echo echo "════════ 2. nginx ════════" echo " active=$(systemctl is-active nginx 2>/dev/null) enabled=$(systemctl is-enabled nginx 2>/dev/null)" pgrep -a nginx 2>/dev/null | head -3 | sed 's/^/ /' || echo " 进程没在跑" echo " nginx 目录: $(du -sh /etc/nginx /var/www /var/log/nginx 2>/dev/null | tr '\n' ' ')" echo echo "════════ 3. 谁在监听端口 ════════" ss -tulpn 2>/dev/null | head -20 | sed 's/^/ /' echo echo "════════ 4. 这三个服务和中转有关吗 ════════" echo " 中转用到的是: 8080(relay) / 20241(metrics) / 80,443(隧道出口不需要)" echo " ---" for p in 80 443 3306 8080 20241; do who=$(ss -tulpn 2>/dev/null | grep ":$p " | head -1 | awk '{print $NF}') printf " 端口 %-6s %s\n" "$p" "${who:-(没人监听)}" done echo echo "════════ 5. 历史遗留的 apt 残留配置(不占空间,但可以清)════════" dpkg -l 2>/dev/null | awk '$1=="rc" {print $2}' | tr '\n' ' ' | sed 's/^/ /' echo echo echo "════════ 6. /root 下我自己留下的脚本(172 个,都很小)════════" ls -1 /root/*.sh /root/*.py 2>/dev/null | wc -l | sed 's/^/ 数量: /' du -ch /root/*.sh /root/*.py 2>/dev/null | tail -1 | sed 's/^/ 合计: /' echo echo "════════ 7. 汇总:清理能省多少 ════════" echo " apt cache + lists: 约 162 MB" echo " journald 压缩: 约 10 MB" echo " /var/log 截断: 约 10 MB" echo " MySQL 数据(若不用): 113 MB" echo " /root 调试脚本: 约 2 MB" echo " ----------" echo " 合计(保守,保留 MySQL): 约 184 MB" echo " 合计(MySQL 也不用了) : 约 297 MB"