Ubuntu中PHP日志如何分割
在Ubuntu中实现PHP日志分割
处理服务器日志,尤其是PHP这类应用日志,是运维工作中的日常。如果放任不管,单个日志文件体积会不断膨胀,不仅占用大量磁盘空间,查找特定时间段的信息也会变得异常困难。好在Ubuntu系统自带了一个非常趁手的工具——logrotate,它能帮你自动化完成日志的轮转、压缩和清理。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

下面,我们就来看看如何用logrotate为PHP日志设置一套自动分割方案。
第一步:安装logrotate
首先,确保你的系统已经安装了logrotate。绝大多数Ubuntu版本都会预装,但为了保险起见,你可以通过以下命令来安装或更新:
sudo apt-get update
sudo apt-get install logrotate
第二步:创建专用配置文件
logrotate的灵活性在于,你可以为不同的服务创建独立的配置文件。这里,我们为PHP日志创建一个。打开终端,执行:
sudo nano /etc/logrotate.d/php
这个命令会创建(如果不存在)并打开一个名为php的新配置文件。
第三步:编写配置规则
在打开的配置文件中,输入以下内容:
/var/log/php/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
这几行配置定义了日志管理的核心规则,我们来逐一拆解:
/var/log/php/*.log:这是目标路径,意味着/var/log/php/目录下所有以.log结尾的文件都将被管理。daily:轮转频率设置为“每日”。这是最常用的频率之一,当然你也可以根据日志量设置为weekly(每周)或monthly(每月)。missingok:如果日志文件暂时不存在,logrotate不会报错,而是安静地跳过。这避免了因临时文件缺失导致的任务失败。rotate 7:保留7个历史日志文件。也就是说,加上当前正在使用的日志,你总共会有8个日志文件(7个归档+1个当前)。超过数量的最旧文件会被自动删除。compress:启用压缩。分割后的旧日志文件(如php.log.1)会被自动压缩成.gz格式(如php.log.1.gz),能显著节省磁盘空间。notifempty:如果当天的日志文件是空的,就不执行轮转。这避免了产生一堆无用的空备份文件。create 640 root adm:轮转后,会创建一个全新的空日志文件供PHP继续写入,并设置其权限为640,所有者为root,所属组为adm。这确保了日志的可写性和安全性。
第四步:保存并测试
配置完成后,保存并关闭文件(在nano编辑器中按Ctrl+X,然后按Y确认,最后回车)。
接下来,强烈建议先进行一次手动测试,以验证配置是否正确、路径是否有效:
sudo logrotate -f /etc/logrotate.d/php
执行这个命令后,logrotate会立即强制执行一次你刚刚定义的规则。你可以去/var/log/php/目录下查看,应该能看到日志文件被重命名、压缩,并生成了一个新的空日志文件。
完成与调整
至此,所有设置就完成了。logrotate服务会作为系统定时任务每日自动运行,从此PHP日志管理就实现了全自动化。
日后如果你想调整策略——比如想保留更多天的日志,或者改变轮转频率——只需再次编辑/etc/logrotate.d/php这个文件,修改对应的参数即可。是不是比手动处理要优雅得多?
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Java在Ubuntu上如何顺利编译
在 Ubuntu 上顺利编译 Ja va 的步骤 一、安装与验证 JDK 万事开头难,但安装 JDK 这一步其实相当简单。首先,更新一下软件源,然后安装 OpenJDK。这里有个小建议:对于生产环境或追求长期稳定,安装 LTS 版本(比如 Ja va 17)是个稳妥的选择;当然,直接用系统默认的 J
Ubuntu下Java编译失败怎么办
在Ubuntu下编译Ja va程序时,可能会遇到一些问题。请按照以下步骤进行故障排除: 在Ubuntu环境下捣鼓Ja va编译,遇到点小麻烦其实挺常见的。别急,咱们一步步来排查,问题总能迎刃而解。 1 确认JDK安装状态 首先,也是最基础的一步,你得确保系统里已经装好了Ja va开发工具包(JDK
Ubuntu PHP如何实现GraphQL查询
在Ubuntu上使用PHP实现GraphQL查询 想在Ubuntu环境下用PHP玩转GraphQL查询?这事儿其实没想象中那么复杂。下面这套清晰的步骤,能帮你快速搭建起一个可运行的GraphQL服务端。 1 安装必要的软件包 万事开头先准备环境。确保你的系统已经安装了PHP和Composer包管理
Ubuntu PHP如何实现Websocket通信
在Ubuntu上使用PHP实现WebSocket通信 想在Ubuntu环境下为你的PHP项目添加实时通信能力?WebSocket无疑是个高效的选择。而Ratchet这个专为PHP设计的WebSocket库,能让整个过程变得清晰可控。下面,咱们就一步步来看看如何从零开始搭建这套环境。 第一步:安装Co
Ubuntu PHP如何实现模块扩展
在Ubuntu系统中为PHP实现模块扩展 为PHP添加模块扩展,听起来可能有点技术门槛,但其实在Ubuntu系统上,整个过程可以梳理得相当清晰。今天,我们就来把这件事掰开揉碎了讲清楚。无论是通过包管理器快速安装,还是从源码手动编译,核心的步骤其实都遵循一套相似的逻辑。 1 安装必要的软件包 万事开
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

