清理前必须100%备份核心业务数据,推荐两种快速备份方式:
sudo rsync -avz --exclude='.log' --exclude='.tmp' /var/www /home /etc /root/202X-XX-XX_core_backup.tar.gz(替换时间戳和关键目录)以下操作基于主流发行版(CentOS7/8、Ubuntu20.04+/Debian11+),需切换到root用户或加sudo前缀执行。
2.1 清理系统日志(最大垃圾来源)系统日志默认保存在/var/log,容易增长到GB甚至TB级别。
journalctl是systemd管理的日志,先查占用大小:journalctl --disk-usage
保留最近7天的日志:journalctl --vacuum-time=7d
限制日志总大小为500MB:journalctl --vacuum-size=500M
永久限制journald大小(避免再次暴涨):编辑/etc/systemd/journald.conf,取消以下两行注释并修改数值:
SystemMaxUse=500M
SystemKeepFree=1G
保存后重启journald:systemctl restart systemd-journald
安全删除30天前的.log、.log.文件:find /var/log -type f \( -name ".log" -o -name ".log." \) -mtime +30 -delete
若有应用自定义日志目录(如/opt/app/logs),替换/var/log即可批量删除
清理所有缓存:yum clean all(或dnf clean all)
删除未使用的旧内核:package-cleanup --oldkernels --count=2(只保留最新2个内核,package-cleanup需先安装:yum install -y yum-utils)
清理已下载的安装包缓存:sudo apt-get clean
清理已卸载软件的残留依赖:sudo apt-get autoremove --purge
删除未使用的旧内核:sudo apt-get autoremove --purge linux-image-$(uname -r | sed 's/-generic//')(自动识别当前外的旧内核)

/tmp和/var/tmp是临时文件聚集地,安全删除7天前未修改的文件:find /tmp /var/tmp -type f -atime +7 -delete
删除所有用户的临时缓存(如浏览器、构建工具):find /home -maxdepth 2 -name ".cache" -type d -exec rm -rf {}/ \;
以下操作基于Windows Server 2016+/2019+/2022,需以管理员身份打开PowerShell/CMD执行。
3.1 清理Windows更新缓存CMD命令:net stop wuauserv,net stop cryptSvc,net stop bits,net stop msiserver
删除路径:C:\Windows\SoftwareDistribution\Download下所有文件(直接全选删除即可),C:\Windows\Temp下所有文件
CMD命令:net start wuauserv,net start cryptSvc,net start bits,net start msiserver
PowerShell永久开启存储感知并配置规则:
开启存储感知
Set-StorageSense -Enable:$true
删除回收站超过30天的文件
Set-StorageSense -RecycleBinDaysThreshold 30
删除临时文件超过1天的文件
Set-StorageSense -TempFilesDaysThreshold 1
删除下载文件夹超过30天的文件(根据业务情况修改)
Set-StorageSense -DownloadsDaysThreshold 30
立即运行一次存储感知
Start-Process Cleanmgr.exe -ArgumentList "/sagerun:1"
先创建清理配置文件:cleanmgr /sageset:1,在弹出的窗口中全选“要删除的文件”选项(除了“临时文件”,刚才PowerShell可能已清理,但全选更保险),点击确定;
立即执行配置好的清理:cleanmgr /sagerun:1
IIS日志默认保存在C:\inetpub\logs\LogFiles,按日期/站点分文件夹。
PowerShell命令:Get-ChildItem -Path C:\inetpub\logs\LogFiles -Recurse -File -Filter ".log" | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item -Force
打开“IIS管理器”,点击左侧“服务器名称”,双击右侧“日志”;
在“日志文件”区域,将“单个日志文件的最大大小(MB)”设为100,将“日志文件滚动更新”设为按大小,点击右侧“应用”
完成清理后需检查磁盘空间是否释放:
df -h(查看各分区使用率)wmic logicaldisk get size,freespace,caption(CMD)或直接打开“此电脑”查看验证核心业务是否正常运行:检查Web服务、数据库、应用程序的访问/功能是否正常,若有异常立即恢复前置准备的备份。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图