本文目录导读:

我来介绍几种常见的资源清理脚本写法,根据不同的清理需求选择:
临时文件清理脚本 (Windows - Batch)
@echo off系统临时文件清理工具 color 0A echo ==================================== echo 临时文件清理脚本 v1.0 echo ==================================== echo. :: 清理 Windows 临时文件 echo [1/5] 清理 Windows 临时文件... del /f /s /q "%WINDIR%\Temp\*.*" 2>nul rd /s /q "%WINDIR%\Temp" 2>nul md "%WINDIR%\Temp" :: 清理用户临时文件 echo [2/5] 清理用户临时文件... del /f /s /q "%TEMP%\*.*" 2>nul rd /s /q "%TEMP%" 2>nul md "%TEMP%" :: 清理回收站 echo [3/5] 清理回收站... rd /s /q C:\$Recycle.bin 2>nul :: 清理预读取文件 echo [4/5] 清理预读取文件... del /f /s /q "%WINDIR%\Prefetch\*.*" 2>nul :: 清理最近使用的文件 echo [5/5] 清理最近使用的文件... del /f /s /q "%USERPROFILE%\Recent\*.*" 2>nul echo. echo ==================================== echo 清理完成! echo ==================================== pause
Docker 资源清理脚本 (Linux/Mac)
#!/bin/bash echo "🚀 Docker 资源清理脚本" echo "========================" # 清理由使用中的容器 echo "📦 停止所有运行中的容器..." docker stop $(docker ps -q) 2>/dev/null # 删除所有容器 echo "🗑️ 删除所有容器..." docker rm $(docker ps -a -q) 2>/dev/null # 删除所有未使用的镜像 echo "🖼️ 删除未使用的镜像..." docker image prune -a -f # 删除未使用的卷 echo "💿 删除未使用的卷..." docker volume prune -f # 删除构建缓存 echo "🔧 清理构建缓存..." docker builder prune -a -f # 显示清理后状态 echo "📊 清理后状态:" docker system df echo "✅ 清理完成!"
Linux 系统日志清理脚本
#!/bin/bash
# 日志清理脚本
LOG_DIR="/var/log"
DAYS_TO_KEEP=7
echo "🔍 开始清理系统日志..."
# 清理 journalctl 日志
if command -v journalctl &> /dev/null; then
echo "📝 清理 journal 日志(保留最近 $DAYS_TO_KEEP 天)..."
journalctl --vacuum-time=${DAYS_TO_KEEP}d
fi
# 清理旧的日志文件
echo "📄 清理超过 $DAYS_TO_KEEP 天的日志文件..."
find $LOG_DIR -name "*.log" -type f -mtime +$DAYS_TO_KEEP -delete
find $LOG_DIR -name "*.gz" -type f -mtime +$DAYS_TO_KEEP -delete
# 清理旧的压缩日志
echo "🗜️ 清理旧的压缩日志..."
find $LOG_DIR -name "*.gz" -type f -exec rm -f {} \;
# 日志轮转
echo "🔄 执行日志轮转..."
logrotate -f /etc/logrotate.conf 2>/dev/null
# 显示磁盘使用情况
echo "💾 清理后的磁盘使用情况:"
df -h $LOG_DIR
echo "✅ 日志清理完成!"
Node.js 项目清理脚本
#!/bin/bash
echo "🧹 Node.js 项目清理工具"
echo "========================"
# 清理 node_modules
echo "📦 清理 node_modules..."
find . -name "node_modules" -type d -prune -exec rm -rf '{}' +
# 清理 lock 文件
echo "🔒 清理 lock 文件..."
find . -name "package-lock.json" -type f -delete
find . -name "yarn.lock" -type f -delete
# 清理 build 文件夹
echo "🏗️ 清理 build 文件夹..."
find . -name "dist" -type d -prune -exec rm -rf '{}' +
find . -name "build" -type d -prune -exec rm -rf '{}' +
find . -name ".next" -type d -prune -exec rm -rf '{}' +
# 清理缓存
echo "💨 清理缓存..."
find . -name ".cache" -type d -prune -exec rm -rf '{}' +
# 清理日志
echo "📋 清理日志文件..."
find . -name "npm-debug.log*" -type f -delete
find . -name "yarn-error.log" -type f -delete
find . -name "*.log" -type f -size +1M -delete
echo "✅ 清理完成!"
通用 Python 缓存清理脚本
#!/usr/bin/env python3
"""
Python 项目缓存清理工具
"""
import os
import shutil
from pathlib import Path
def clean_python_cache():
"""清理 Python 缓存文件"""
print("🐍 Python 缓存清理工具")
print("========================")
# 清理 __pycache__ 目录
print("🗑️ 清理 __pycache__ 目录...")
for pycache in Path(".").rglob("__pycache__"):
if pycache.is_dir():
shutil.rmtree(pycache)
print(f" ✓ 删除: {pycache}")
# 清理 .pyc 文件
print("🗑️ 清理 .pyc 文件...")
for pyc in Path(".").rglob("*.pyc"):
pyc.unlink(missing_ok=True)
print(f" ✓ 删除: {pyc}")
# 清理 .egg-info 目录
print("🥚 清理 egg-info 目录...")
for egg_info in Path(".").rglob("*.egg-info"):
if egg_info.is_dir():
shutil.rmtree(egg_info)
print(f" ✓ 删除: {egg_info}")
# 清理 .mypy_cache
print("📝 清理 mypy 缓存...")
mypy_cache = Path(".mypy_cache")
if mypy_cache.exists():
shutil.rmtree(mypy_cache)
print(" ✓ 删除 .mypy_cache")
# 清理 .pytest_cache
print("🧪 清理 pytest 缓存...")
pytest_cache = Path(".pytest_cache")
if pytest_cache.exists():
shutil.rmtree(pytest_cache)
print(" ✓ 删除 .pytest_cache")
# 显示清理结果
print("\n📊 清理结果:")
total_size = 0
for path in Path(".").rglob("*"):
if path.is_file():
total_size += path.stat().st_size
print(f" 当前项目大小: {total_size / 1024 / 1024:.2f} MB")
print("✅ 清理完成!")
if __name__ == "__main__":
clean_python_cache()
使用建议
- 安全第一:在运行清理脚本前,建议先备份重要数据
- 测试环境:先在测试环境运行,确认无误后再在生产环境使用
- 权限设置:Linux 脚本需要添加执行权限:
chmod +x script.sh
- 定时任务:可以配合 crontab 实现自动清理:
# 每周日凌晨 2点清理 0 2 * * 0 /path/to/cleanup.sh
根据你的具体需求选择合适的脚本进行修改和扩展。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播