记录一次服务器日志清除及切割

问题出现在分支上的一个项目上,有线下反应功能出现问题.


在线上服务器查看日志的时候,突然xsehll断开连接,看了下网络没有问题,另外就是想起来是不是内存满了,因为之前在上家公司出现过类似问题,日志长期积累,导致内存空间不足,服务器会发生自动重启现象.(当然生产环境还是要谨慎哈,还是运维来负责吧)


解决方案:

1:df:查看内存状况(清理过后)

当时发现/home目录下.磁盘已经接近97%,以及根目录下也接近100%.

2:以/home为例,进入/home目录.

3:使用du -h --max-depth=1,查看当前目录下一级子文件和子目录占用的磁盘容量.

4:最终发现是日志文件过大,导致磁盘不足, 那么问题来了,日志文件我们不可能单纯删除或清空,此时我们可以使用split来切割日志.

 split命令如下:

  • <行数> : 指定每多少行切成一个小文件
  • -b<字节> : 指定每多少字节切成一个小文件
  • --help : 在线帮助
  • --version : 显示版本信息
  • -C<字节> : 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性
  • [输出文件名] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号

  1:按照大小切割

      split -b  10m -d -a 4   /需切割的文件路径    /切割到什么位置

  2:按照行数切割

     split -l   100    //需切割的文件路径

5:我们可以通过一个简单的脚本,来实现文件切割,后续我们只需要运行脚本即可.

   vi split.sh(脚本名称自定义即可)

#!/bin/bash

log_path=/需要切割文件路径
current_date=`date -d "-1 day" "+%Y%m%d"`
split -b 2048m -d -a 4 ${log_path}/server.out   ${log_path}/log_${current_date}_
cat /dev/null > ${log_path}/server.out

    我们可以通过bash split.sh执行脚本即可

    

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值