php 读取 linux 文件,PHP读取大文件,linux读取日志
工作中遇到一个问题,运营或客服经常会问一些用户使用中的问题涉及到日志查询,开始的时候来一个给查一下日志。。后来发现每天都会问个五六次。。没办法后来就给弄了个读日志的工具。
读着读着发现有时候会出现挂掉的情况,不频发而且也不是对外的功能就没当回事儿,但是后来将多台服务器的日志互相做了软链整合之后发现基本每次查询都会挂掉,逐找时间排查问题。
看了眼异常日志发现日志过大,原来搜索日志的方法比较简单粗暴,直接读取后存入数组再遍历匹配。但是这样操作现在每天的日志都上几百兆了明显不可行了,后来想着日志再次细分一下吧,把一些相对比较大的日志按照类型再次划分了目录,但是想了想如果流量比现在大的话即使细分了也还是可能会出现问题。
想了想方案,后来觉得还是用linux的grep来处理比较方便快捷,代码如下:
if ($search['keyword'] != ''){
$file_dir = 'log/'.$path.'.log';
if (!is_file($file_dir))goto index;
$info = shell_exec("grep -A 3 ".$search['keyword'].' '.$file_dir);
if (empty($info))goto index;
$ret = explode(PHP_EOL,$info);
}
主要是利用shell_exec来执行grep返回搜索值,没具体算过时间,但是二百多兆的文件也都能在一秒内处理完。
php 读取 linux 文件,PHP读取大文件,linux读取日志相关推荐
- linux 快速删除大量/大文件
linux 快速删除大量/大文件 经常会测试海量大数据,在不同文件系统下执行列出(list),删除(rm)等操作的执行时间,下面列出了,执行删除50万个文件时,使用不同的命令或者脚本,执行时间! 从上 ...
- linux下分割文件的方法,关于linux系统下分割大文件的方法
<关于linux系统下分割大文件的方法>由会员分享,可在线阅读,更多相关<关于linux系统下分割大文件的方法(4页珍藏版)>请在人人文库网上搜索. 1.关于 linux系统下 ...
- linux 大文件按照大小切割,关于linux系统下分割大文件的方法
关于linux系统下分割大文件的方法 在linux中分割大文件,比如一个5gb日志文件,需要把它分成多个小文件,分割后以利于普通的文本编辑器读取. 有时,需要传输20gb的大文件到另一台服务器,也需要 ...
- linux下分割文件的方法,linux系统下分割大文件的方法有哪些
学习啦小编我在linux中分割大文件,比如一个5gb日志文件,需要把它分成多个小文件,分割后以利于普通的文本编辑器读取.有时,需要传输20gb的大文件到另一台服务器,也需要把它分割成多个文件,这样便于 ...
- Linux命令行下载大文件,下载Onedrive文件
Linux命令行下载大文件,下载Onedrive文件 做深度学习实验时,经常会遇到下载数据集,下载到本地又上传到Linux服务器上,这时用rz上传会很慢,在网上找到一些方法,用curl下载One-dr ...
- 有没有一种文件系统可以支持所有的操作系统(Win+Linux+Mac)而且支持大文件而且不需要辅助软件呢?
有没有一种文件系统可以支持所有的操作系统(Win+Linux+Mac)而且支持大文件而且不需要辅助软件呢? 在Mac, Linux, Windows下,没有一种文件系统能够同时支持他们三者,还能支持大 ...
- 如何快速找出Linux系统中的大文件?
今日主题: 如何快速找出Linux系统中的大文件? 在前面的文章中,我们讲到了压测时磁盘空间被占满的问题,可以跟今天的文章结合着看. 在性能测试中,我们经常要关注系统磁盘空间,防止因磁盘空间占满而导致 ...
- html大文件传输,socket大文件传输
遇到了在c#中socket如何实现大文件传输 接收端 private void Receive(Socket socket) { NetworkStream ns = new NetworkStrea ...
- Linux_Shell脚本 + 配置文件:按照不同文件类型合并文件,小文件合并成大文件
需求概述 某项业务中,我方通过文件接口与上游系统进行数据交互,上游系统通过ftp的方式推送接口数据文件到指定目录,我方通过sqlldr的方式入库并处理接口数据. 为保证接口数据的一致性,我方每天会将前 ...
- 如何快速传输大文件,介绍大文件快速方法
现在,企业比以往任何时候都面临着一个重大挑战:需要一个快速共享文件的解决方案.但是,并非所有快速文件传输解决方案都以相同的速度传输文件.文件大小.端点位置.路径.设备.防火墙.网络系统和加密需求都会限 ...
最新文章
- SIP协议状态码:480Temporarily Unavailable
- 爬动的蠕虫(C++)
- springboot中获取bean_最新Spring Boot干货总结(超详细,建议收藏)
- Zookeeper概念介绍
- Appium环境搭建超详细教程
- 如何运用js制作简单的登录界面(html)
- calib matlab,toolbox_calib 图片处理,各种用于 的.M文件,非常适 初学者。 matlab 242万源代码下载- www.pudn.com...
- canvas lineWidth1px问题
- 实时渲染学习(十)渲染加速算法总结
- 聊聊 GPU 的计算能力上限
- 总结SSL/TLS协议运行机制
- 再安利几个看片追剧的App
- 响应式网页设计的概念和应用
- Android无线调试
- SwiftUI macOS 轻松搭建音乐Radio类App界面(教程含源码)
- 小红书3大新功能上线,提升笔记转化率和品牌投放效果
- 肖秀荣:2022考研政治大纲解读及复习建议
- iptables ip 白名单操作
- 满足条件的数累加(YZOJ-1066)
- ipadmini5远程服务器,为什么iPadmini5被称为“等等党的耻辱”?原因可以分为3点!...
热门文章
- curl 使用 ~/.netrc
- 程序的内存模型—内存四区—堆区
- arduino上ESP8266用Adafruit_SSD1306库驱动OLED屏
- 计算机网络·通俗理解RIP协议(距离向量算法计算)
- sublime中利用正则批量修改数据
- 《HiBlogs》重写笔记[1]--从DbContext到依赖注入再到自动注入
- Cause: java.sql.SQLException: ORA-00904: ID: 标识符无效
- jQuery 文件上传插件:uploadify、swfupload
- maven发碰到的问题
- EMOS SPF开启收不到信 及WEB收件箱不显示邮件列表等问题解决处理记录