mongodb php存储日志,mongodb日志存储优化

博主面临硬盘空间告急的问题,通过调整日志字段精简只释放了少量空间。随后,他们利用mongodb的mongodump和mongorestore命令进行日志备份和压缩,并编写脚本批量处理历史日志,成功节省了大量硬盘空间。脚本虽然简单,但效果显著,备份数据压缩后仅占5G,清理一半日志后释放了90G空间,突显出mongodb对硬盘资源的需求之高。
摘要由CSDN通过智能技术生成

17270ce95af85a4a2d33846cd5831d99.png

背景

之前写的代码所有的日志都通过mongodb来存储和检索,目前硬盘200G已经使用了195G,监控一直报警。一开始通过精简已有日志中的字段,发现空间下降不明显。于是翻了下官方手册,刚好翻到mongodb的备份,想了想历史日志也用不着及时搜索,于是就备份了

备份命令

mongodump --archive=xxxx.archive --db db --collection collection

压缩备份

gzip xxxx.archive

写个脚本删除备份的日志

后续

备份恢复命令

mongorestore --gzip --archive=xxxx.archive.gz --db db

由于我的日志是按照日期分天存储,因此比较好导出,脚本如下

#!/bin/bash

a="mongodump --archive="

b=".archive"

c="--db php_log --collection "

for i in $( seq $1 $2 )

do

collection="$3_$i"

archive="$collection$b"

$a$archive $c$collection

gzip $archive

done

脚本比较烂,不要嘲笑😂

删除1/2日志成果

删除前:剩余5G 删除后:剩余95G 数据压缩包:5G 节约空间90G,不得不说mongo很吃硬盘啊(更吃内存)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值