centos

CentOS清理脚本有哪些推荐

小樊
42
2025-09-22 06:49:50
栏目: 智能运维

1. 基础磁盘清理脚本(一键清理缓存与临时文件)
此脚本聚焦于清理yum/dnf缓存、journal日志、临时目录、旧日志及大日志文件,适合日常快速释放磁盘空间。核心步骤包括:通过dnf clean all(或yum clean all)清理包管理器缓存;用journalctl --vacuum-time=7d保留7天内的系统日志;删除/tmp/var/tmp目录下的临时文件;查找并清空/var/log下超过7天的.log.gz文件(保留历史记录);清空大于100M的日志文件(避免占用过多空间);删除系统core dump文件及用户主目录下的缓存(如pip、npm)。脚本最后通过df -h /显示清理后的磁盘空间变化。

2. 自动化综合清理脚本(含定时任务)
该脚本覆盖更全面的清理场景,包括内存缓存、旧日志、临时文件、无用软件包、旧内核、用户缓存等,且支持通过crontab定时执行。关键功能有:清理内存缓存(sync && echo 3 > /proc/sys/vm/drop_caches);用truncate命令清空旧日志文件(避免删除完整日志);通过yum autoremove -y移除不再使用的依赖包;用package-cleanup --oldkernels --count=1 -y保留最新的1个内核版本(防止旧内核占用空间);清理/var/backups/var/crash等系统备份及崩溃日志;删除Docker镜像和容器缓存(可选,需追加至脚本末尾)。使用时,将脚本保存为cleanup.sh,赋予执行权限(chmod +x),并通过crontab -e添加定时任务(如每两小时执行一次:0 */2 * * * /path/to/cleanup.sh >/dev/null 2>&1 &)。

3. Nacos日志专用清理脚本
针对Nacos服务产生的大量日志文件(如access_log系列),设计专门的清理脚本。脚本通过date命令获取昨天的日期(格式为YYYY-MM-DD),构造对应的日志文件路径(如/root/nacos/bin/logs/access_log.2025-09-21.log),若文件存在则删除;同时清理Nacos目录下所有以.log.*.0结尾的压缩日志文件(避免日志堆积)。此脚本适合部署在运行Nacos的CentOS服务器上,定期执行以控制日志文件大小。

4. 大文件清理脚本(定位并处理超大文件)
用于查找系统中大于100M的大文件(如nohup.out、应用日志等),并清空其内容而非直接删除(避免误删重要数据)。脚本通过find命令遍历/data/root/home/mnt等常见目录,定位符合条件的文件;使用sh -c命令对每个文件执行清空操作(echo "" > 文件名)。适合需要监控大文件占用空间的场景,可定期运行以防止大文件耗尽磁盘空间。

5. 带日志记录的清理脚本
具备完善的日志功能,将清理操作的开始时间、结束时间及具体步骤记录到/var/log/cleanup.log文件中,便于后续审计和排查问题。脚本内容包括:清理临时文件(/tmp/var/tmp)、yum缓存、系统日志(logrotate -f /etc/logrotate.conf)、系统缓存(sync; echo 3 > /proc/sys/vm/drop_caches)、旧内核、大文件(find / -type f -size +100M)等。此外,还支持通过邮件发送清理完成通知(需取消注释mail命令并配置邮件服务器)。日志记录功能提升了脚本的可维护性,适合生产环境使用。

0
看了该问题的人还看了