本项目包含四个核心脚本,用于龙蜥操作系统(Anolis OS)的磁盘空间、Inode 资源自动化维护以及系统实时监控,通过定时任务和阈值触发实现无人值守管理,解决磁盘满、Inode 耗尽问题并提供系统性能实时监控。
| 脚本名称 | 功能描述 | 执行方式 |
|---|---|---|
cleanUp.sh |
全自动清理磁盘空间(缓存、日志、临时文件等),无需用户交互,默认执行全部清理操作 | 手动运行或定时任务自动触发 |
clean_Innode.sh |
全自动定位并清理大量小文件,解决 Inode 耗尽问题,自动清理常见高 Inode 目录 | 手动运行或定时任务自动触发 |
setup_cron.sh |
配置定时清理任务、系统监控任务和 Glances 监控服务,支持阈值触发自动清理 | 一次性初始化配置 |
yumConfig.sh |
YUM 源配置脚本,优化软件包管理 | 手动运行 |
\# 确认操作系统(龙蜥Anolis OS 7.9+)
cat /etc/os-release | grep "Anolis OS"
\# 创建脚本存放目录
mkdir -p /root/secConfig
将三个脚本上传至 /root/secConfig/ 目录,执行以下命令赋予权限:
chmod +x /root/secConfig/cleanUp.sh
chmod +x /root/secConfig/clean\_Innode.sh
chmod +x /root/secConfig/setup\_cron.sh
核心功能:
\# 全自动清理脚本,无需用户交互,默认执行全部清理操作
\# 包含:
\- 清理系统缓存(页缓存、目录项缓存)
\- 清理yum缓存(下载的rpm包)
\- 删除3天前的日志文件(/var/log下)
\- 清理/tmp和/var/tmp临时文件
\- 卸载无用依赖包和孤儿包
\- 查找大于100MB的大文件
\- 为长时间操作添加延时提示
手动执行示例:
\# 直接运行脚本,自动执行全部清理
/root/secConfig/cleanUp.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天凌晨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秒无输入自动确认)
\# 输出详细配置报告
\# 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
-
首次执行前请备份重要数据(如
/var/log下的关键日志)。 -
确保
crond服务正常运行:
systemctl enable --now crond
systemctl status crond
-
清理过程可能短暂占用系统资源,建议首次手动测试在非业务高峰期进行。
-
安装 Glances 需满足以下条件:
- 系统已安装 Python3 和 pip3
- 服务器可访问互联网
- 服务器防火墙允许 61208 端口访问
-
如需自定义自动清理阈值,可编辑
system_monitor.sh中的DISK_THRESHOLD和INODE_THRESHOLD变量。
-
定期查看清理日志和监控日志,确认脚本运行正常。
-
如需调整执行时间,通过
crontab -e编辑任务(例如修改0 3为0 2调整到凌晨 2 点)。 -
若系统新增大量小文件目录,可在
clean_Innode.sh中添加自定义清理规则。 -
对于 Glances 监控,可通过 Web 界面实时查看系统状态,或通过编辑
/etc/systemd/system/glances.service调整运行参数。 -
如需临时禁用自动清理,可通过
crontab -e注释掉相应的任务行。
-
脚本默认在
/root/secConfig/目录下运行,确保该目录权限设置正确(建议 700)。 -
所有清理操作都有日志记录,便于审计和问题追溯。
-
自动清理过程中会排除关键系统目录,避免误删重要文件。