吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1054|回复: 9
收起左侧

[Python 原创] 拯救服务器过多的缓存等信息_删除无用的日志

[复制链接]
lideshan 发表于 2026-3-18 15:16
[url=]PixPin_2026-03-18_15-11-00.png[/url]
[url=]今天刚登上服务器发现没剩多少空间了,然后弄了个脚本把缓存清理了一下[/url]

使用方法
1.创建一个sh文件
vim clean_data.sh
2.赋予权限
chmod +x clean_data.sh
3.执行脚本
./clean_data.sh


[url=]
[Shell] 纯文本查看 复制代码
#!/bin/bash

# 安全的系统和开发环境清理脚本
# 适用于有 Python/Node.js/Docker 的 Linux 系统

# 设置颜色输出,提升可读性
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# 打印欢迎信息
echo -e "${YELLOW}========================================"
echo -e "      系统/开发环境一键清理脚本"
echo -e "========================================${NC}"
echo -e "该脚本会清理以下内容:"
echo -e "  1. Python pip 缓存"
echo -e "  2. Node.js npm/yarn 缓存"
echo -e "  3. Docker 未使用的镜像/容器/卷/缓存"
echo -e "  4. 系统 APT 缓存、旧日志、Snap 旧版本"
echo -e "  5. 项目中的 __pycache__ 临时文件"
echo ""

# 安全确认
read -p "⚠️  执行前请确保已备份重要数据,是否继续?(y/N) " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
    echo -e "${RED}❌ 清理操作已取消${NC}"
    exit 1
fi

# ======================== 开始清理 ========================
echo -e "\n${YELLOW}🔍 开始执行清理操作...${NC}"

# 1. 清理 Python 相关
echo -e "\n1. ${YELLOW}清理 Python pip 缓存${NC}"
if command -v pip &> /dev/null; then
    pip cache purge 2>/dev/null || echo "pip 缓存清理失败(可能未安装pip)"
fi
if command -v pip3 &> /dev/null; then
    pip3 cache purge 2>/dev/null || echo "pip3 缓存清理失败"
fi

echo -e "2. ${YELLOW}清理 __pycache__ 目录${NC}"
# 只清理当前用户目录下的 __pycache__,避免权限问题
find $HOME -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null
echo -e "   ${GREEN}✅ __pycache__ 清理完成${NC}"

# 2. 清理 Node.js 相关
echo -e "\n3. ${YELLOW}清理 Node.js npm 缓存${NC}"
if command -v npm &> /dev/null; then
    npm cache clean --force 2>/dev/null || echo "npm 缓存清理失败(可能未安装npm)"
    echo -e "   ${GREEN}✅ npm 缓存清理完成${NC}"
else
    echo -e "   ${YELLOW}⚠️  未检测到 npm,跳过${NC}"
fi

echo -e "4. ${YELLOW}清理 yarn 缓存${NC}"
if command -v yarn &> /dev/null; then
    yarn cache clean 2>/dev/null || echo "yarn 缓存清理失败"
    echo -e "   ${GREEN}✅ yarn 缓存清理完成${NC}"
else
    echo -e "   ${YELLOW}⚠️  未检测到 yarn,跳过${NC}"
fi

# 3. 清理 Docker 相关(需要 sudo 权限)
echo -e "\n5. ${YELLOW}清理 Docker 未使用资源${NC}"
if command -v docker &> /dev/null; then
    echo -e "   ⚠️  清理 Docker 需管理员权限,可能需要输入密码"
    sudo docker system prune -a -f --volumes 2>/dev/null || echo "Docker 清理失败(可能无权限/未运行Docker)"
    echo -e "   ${GREEN}✅ Docker 清理完成${NC}"
else
    echo -e "   ${YELLOW}⚠️  未检测到 Docker,跳过${NC}"
fi

# 4. 系统级清理(Debian/Ubuntu)
echo -e "\n6. ${YELLOW}清理系统 APT 缓存${NC}"
if command -v apt &> /dev/null; then
    sudo apt autoremove --purge -y 2>/dev/null
    sudo apt clean 2>/dev/null
    echo -e "   ${GREEN}✅ APT 缓存清理完成${NC}"
else
    echo -e "   ${YELLOW}⚠️  非 Debian/Ubuntu 系统,跳过 APT 清理${NC}"
fi

echo -e "7. ${YELLOW}清理系统日志(保留最近100M)${NC}"
sudo journalctl --vacuum-size=100M -q 2>/dev/null || echo "日志清理失败(可能无权限)"
echo -e "   ${GREEN}✅ 系统日志清理完成${NC}"

echo -e "8. ${YELLOW}清理 Snap 旧版本${NC}"
if command -v snap &> /dev/null; then
    sudo snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do
        sudo snap remove "$snapname" --revision="$revision" 2>/dev/null
    done
    echo -e "   ${GREEN}✅ Snap 旧版本清理完成${NC}"
else
    echo -e "   ${YELLOW}⚠️  未检测到 Snap,跳过${NC}"
fi

# ======================== 清理完成 ========================
echo -e "\n${GREEN}========================================"
echo -e "          清理操作全部完成!"
echo -e "========================================${NC}"
echo -e "📊 当前磁盘使用情况:"
df -h | grep -E 'Filesystem|/dev/vda3|/$' # 只显示根目录/目标分区的使用情况
echo -e "\n${YELLOW}提示:如果需要恢复 Docker 镜像,重新 pull 即可;node_modules 可通过 npm install 恢复${NC}"
[/url]
[url=][url=]PixPin_2026-03-18_15-14-04.png[/url][/url]
PixPin_2026-03-18_15-11-00.png
PixPin_2026-03-18_15-14-04.png

免费评分

参与人数 3吾爱币 +9 热心值 +3 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
HiLinux + 1 + 1 热心回复!
gNehcx + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

tdasly 发表于 2026-3-18 15:29
学习了楼主厉害
天天哈皮 发表于 2026-3-18 15:35
gNehcx 发表于 2026-3-18 15:54
非常感谢,正好在等域名备案,可以顺便给服务器做做准备
额微粒波地 发表于 2026-3-18 16:20
感谢分享,刚好给Ubuntu虚拟机清一下
 楼主| lideshan 发表于 2026-3-18 16:21
天天哈皮 发表于 2026-3-18 15:35
有没有windows server服务器版的清理工具

用的都是linux系统的,windows服务器不太清楚
zdYu 发表于 2026-3-18 18:57
感谢楼主分享
HiLinux 发表于 2026-3-20 08:37
感谢楼主分享!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-8-10 11:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表