Skip to content

adminlove520/CleanGuard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

系统磁盘与 Inode 自动清理工具集

项目概述

本项目包含四个核心脚本,用于龙蜥操作系统(Anolis OS)的磁盘空间、Inode 资源自动化维护以及系统实时监控,通过定时任务和阈值触发实现无人值守管理,解决磁盘满、Inode 耗尽问题并提供系统性能实时监控。

脚本清单与功能

脚本名称 功能描述 执行方式
cleanUp.sh 全自动清理磁盘空间(缓存、日志、临时文件等),无需用户交互,默认执行全部清理操作 手动运行或定时任务自动触发
clean_Innode.sh 全自动定位并清理大量小文件,解决 Inode 耗尽问题,自动清理常见高 Inode 目录 手动运行或定时任务自动触发
setup_cron.sh 配置定时清理任务、系统监控任务和 Glances 监控服务,支持阈值触发自动清理 一次性初始化配置
yumConfig.sh YUM 源配置脚本,优化软件包管理 手动运行

部署步骤

1. 准备环境

\# 确认操作系统(龙蜥Anolis OS 7.9+)

cat /etc/os-release | grep "Anolis OS"

\# 创建脚本存放目录

mkdir -p /root/secConfig

2. 上传脚本并授权

将三个脚本上传至 /root/secConfig/ 目录,执行以下命令赋予权限:

chmod +x /root/secConfig/cleanUp.sh

chmod +x /root/secConfig/clean\_Innode.sh

chmod +x /root/secConfig/setup\_cron.sh

脚本功能详情

1. 磁盘清理脚本 cleanUp.sh

核心功能:

\# 全自动清理脚本,无需用户交互,默认执行全部清理操作

\# 包含:

\- 清理系统缓存(页缓存、目录项缓存)

\- 清理yum缓存(下载的rpm包)

\- 删除3天前的日志文件(/var/log下)

\- 清理/tmp和/var/tmp临时文件

\- 卸载无用依赖包和孤儿包

\- 查找大于100MB的大文件

\- 为长时间操作添加延时提示

手动执行示例:

\# 直接运行脚本,自动执行全部清理

/root/secConfig/cleanUp.sh

2. Inode 清理脚本 clean_Innode.sh

核心功能:

\# 全自动解决df -i使用率100%问题,无需用户确认

\- 定位inode消耗最高的目录(按inode数量排序)

\- 自动清理常见高inode目录:/var、/var/log、/tmp、/var/cache等

\- 清理/tmp下3天前的小文件

\- 删除/var/log下7天前的日志碎片

\- 清理邮件队列(/var/spool/clientmqueue)

\- 检测并清理"已删除但被进程占用"的文件

\- 为长时间操作添加延时提示

\- 对关键系统目录进行排除保护

手动执行示例:

# 直接运行脚本,自动执行完整清理流程

/root/secConfig/clean_Innode.sh

3. 定时任务配置脚本 setup_cron.sh

核心功能:

\# 自动配置完整的系统维护体系:

\- 定时清理任务:磁盘清理每3天凌晨3点,Inode清理每7天凌晨4点

\- 系统自动监控:创建system_monitor.sh脚本,每小时检查一次系统状态

\- 阈值触发清理:当磁盘使用率>50%自动执行cleanUp.sh,Inode使用率>50%自动执行clean_Innode.sh

\- Glances监控模块:可选安装配置Glances Web监控服务

\- 生成独立日志文件:磁盘清理、Inode清理、系统监控和Glances监控日志

\- 防重复添加任务,自动修复脚本权限

配置方法:

\# 运行配置脚本

/root/secConfig/setup_cron.sh

\# 按照提示配置Glances监控(可选,5秒无输入自动确认)

\# 输出详细配置报告

4. Glances监控模块

\# Glances安装与配置流程:

\- 检查python3、pip3环境

\- 安装:sudo pip3 install glances -y

\- 执行glances(命令行模式)与glances -w(web模式)

\- 如果web模式报错,则执行:sudo pip3 install --user 'glances[web]' -y

\- 创建系统服务,支持以服务方式启动Glances

\- Web访问地址:http://服务器IP:61208

\- 监控日志:/var/log/glances.log

定时任务详情

任务类型 执行周期 执行时间 脚本路径 日志路径
磁盘清理 每 3 天 03:00 /root/secConfig/cleanUp.sh /var/log/disk_cleanup.log
Inode 清理 每 7 天 04:00 /root/secConfig/clean_Innode.sh /var/log/inode_cleanup.log
系统监控 每 1 小时 整点 /root/secConfig/system_monitor.sh /var/log/system_monitor.log
Glances检查 每 1 小时 整点 /root/secConfig/start_glances.sh /var/log/glances.log
Glances自启 系统启动时 - /root/secConfig/start_glances.sh /var/log/glances.log

日志查看与问题排查

\# 查看磁盘清理日志

tail -n 50 /var/log/disk_cleanup.log

\# 查看Inode清理日志

tail -n 50 /var/log/inode_cleanup.log

\# 查看系统监控日志

tail -n 50 /var/log/system_monitor.log

\# 查看Glances监控日志(如果已安装)

tail -n 50 /var/log/glances.log

\# 检查定时任务是否存在

crontab -l

\# 检查Glances是否正在运行

ps aux | grep glances | grep -v grep

注意事项

  1. 首次执行前请备份重要数据(如 /var/log 下的关键日志)。

  2. 确保 crond 服务正常运行:

systemctl enable --now crond

systemctl status crond
  1. 清理过程可能短暂占用系统资源,建议首次手动测试在非业务高峰期进行。

  2. 安装 Glances 需满足以下条件:

    • 系统已安装 Python3 和 pip3
    • 服务器可访问互联网
    • 服务器防火墙允许 61208 端口访问
  3. 如需自定义自动清理阈值,可编辑 system_monitor.sh 中的 DISK_THRESHOLDINODE_THRESHOLD 变量。

维护建议

  • 定期查看清理日志和监控日志,确认脚本运行正常。

  • 如需调整执行时间,通过 crontab -e 编辑任务(例如修改 0 30 2 调整到凌晨 2 点)。

  • 若系统新增大量小文件目录,可在 clean_Innode.sh 中添加自定义清理规则。

  • 对于 Glances 监控,可通过 Web 界面实时查看系统状态,或通过编辑 /etc/systemd/system/glances.service 调整运行参数。

  • 如需临时禁用自动清理,可通过 crontab -e 注释掉相应的任务行。

安全考虑

  • 脚本默认在 /root/secConfig/ 目录下运行,确保该目录权限设置正确(建议 700)。

  • 所有清理操作都有日志记录,便于审计和问题追溯。

  • 自动清理过程中会排除关键系统目录,避免误删重要文件。

About

Linux系统自动清理与监控工具集 - 提供磁盘空间清理、Inode清理、定时任务配置和系统监控功能,支持阈值触发自动清理,集成Glances实时监控,适合服务器自动化维护。 - 系统资源自动管理套件 - 集磁盘空间回收、Inode清理、YUM配置优化和系统监控于一体,支持定时任务和智能阈值触发,实现无人值守的系统资源管理。 - 服务器资源维护工具箱 - 提供全面的Linux服务器资源维护工具,包括自动磁盘与Inode清理、定时任务配置、YUM源优化和实时系统监控,确保系统稳定高效运行。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages