惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
DataBreaches.Net
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
IT之家
IT之家
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
月光博客
月光博客
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
腾讯CDC
B
Blog RSS Feed
博客园 - Franky
爱范儿
爱范儿

博客园 - 李文学

Windows Server 2016 64位 ASP+Access(.mdb) 80004005 最简解决方案 Oracle查询表中指定库名,表约束名的上下表依赖关系 linux简版启动,关闭jar命令 Oracle11.2实例重启 主流数据库 “匹配更新、不匹配插入” 语法详解(Oracle/MSSQL/MySQL) Centos7扩容2 wps,两个页签比较常用函数 Oracle常见SQL示例 VUE-手机号验证 Centos7安装mysql8 Centos7安装ffmpeg 不同数据库标识长度检查 Centos7重置网络 Oracle11新建业务库账号信息 Java启动JAR,.sh版 linux常用命令 centos7防火墙IP白名单维护 centos7安装lamp,php5.6,mysql5.7,xdebug MSSQL最大内存设置
Centos7磁盘空间自动处理
李文学 · 2025-08-27 · via 博客园 - 李文学

本文主要基于logrotate机制处理类似nginx日志,以及其他自定义日志输出的场景,日志文件格式可以是log、txt等,具体操作如下:

#添加nginx
sudo useradd -r -s /sbin/nologin nginx

# 查看是否存在 nginx 用户
id nginx

# 或者查看 /etc/passwd 文件中是否有 nginx 用户记录
grep -i nginx /etc/passwd

# 清理方案 vi
/etc/logrotate.d/nginx
# 配置清理nginx日志 /home/tjgeo/apps/nginx/logs/*.log { daily missingok rotate 365 compress delaycompress notifempty create 0640 nginx nginx sharedscripts postrotate if [ -f /home/tjgeo/apps/nginx/logs/nginx.pid ]; then kill -USR1 `cat/home/tjgeo/apps/nginx/logs/nginx.pid` fi endscript } #其他目录清理类似 # 新增nohup.log所在目录的日志轮转配置 /home/tjgeo/logs/operation/*.log { daily missingok rotate 30 compress delaycompress notifempty create 0644 tjgeo tjgeo postrotate # 增加错误判断,确保脚本存在再执行 if [ -f /home/tjgeo/apps/tongyan-operation/bin/stop.sh ] && [ -f /home/tjgeo/apps/tongyan-operation/bin/start.sh ]; then # 执行停止脚本并等待1秒,确保进程终止 sh /home/tjgeo/apps/tongyan-operation/bin/stop.sh >/dev/null 2>&1 sleep 1 # 执行启动脚本 sh /home/tjgeo/apps/tongyan-operation/bin/start.sh >/dev/null 2>&1 else # 若脚本不存在,记录警告日志(需确保/var/log/目录可写) echo "[$(date)] stop.sh或start.sh不存在,日志轮转后未重启应用" >> /var/log/logrotate_tongyan_warn.log fi endscript } #配置检测 #触发测试 sudo logrotate -vf /etc/logrotate.d/nginx

日志文件删除

#检查当前子目录磁盘占用最高的10条记录

du -h --max-depth=1 | sort -hr | head -n 10

#删除指定目录的日志文件,且保留1年记录

find /home/tjgeo/apps/apache-tomcat-9.0.78/logs/ -name "*.txt*" -type f -mtime +180 -delete

find /home/tjgeo/logs/monitor/ -name "*.log*" -type f -mtime +360 -delete

find /home/tjgeo/nacos-2.1.1/bin/logs/ -name "*.log*" -type f -mtime +360 -delete

find /home/tjgeo/nacos-2.1.1/logs/ -name "*.log*" -type f -mtime +360 -delete

find /home/tjgeo/logs/operation/ -name "*.log*" -type f -mtime +360 -delete

#删除yyyy-MM-dd格式的文件夹

# 先预览符合条件的目录(推荐先执行此步骤确认)
find /home/tjgeo/logs/njdb-run/ -maxdepth 1 -type d -regextype posix-egrep -regex '.*/[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])' -mtime +360 -print

# 确认无误后执行删除(谨慎操作,此命令不可逆)
find /home/tjgeo/logs/njdb-run/ -maxdepth 1 -type d -regextype posix-egrep -regex '.*/[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])' -mtime +360 -exec rm -rf {} +

通过以上设置可以定期清理并优化磁盘占用问题。