在Ubuntu系统中,PHP日志轮转通常是通过logrotate
工具来实现的。以下是设置PHP日志轮转的步骤:
确保logrotate
已安装:
大多数Ubuntu版本默认已经安装了logrotate
。如果没有安装,可以通过以下命令安装:
sudo apt-get update
sudo apt-get install logrotate
创建或编辑logrotate
配置文件:
logrotate
的配置文件通常位于/etc/logrotate.d/
目录下。你可以为PHP-FPM或Apache等不同的服务创建单独的配置文件,或者编辑通用的配置文件。
例如,为PHP-FPM创建一个配置文件:
sudo nano /etc/logrotate.d/php-fpm
添加以下内容到配置文件中:
/var/log/php-fpm/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 www-data adm
}
这里的配置项解释如下:
daily
: 每天轮转日志。missingok
: 如果日志文件丢失,不要报错。rotate 7
: 保留7个轮转日志文件。compress
: 轮转后的日志文件进行压缩。notifempty
: 如果日志文件为空,则不轮转。create 0640 www-data adm
: 轮转后创建新的日志文件,权限为0640,属主为www-data,属组为adm。保存并关闭配置文件。
测试logrotate
配置:
你可以使用以下命令测试logrotate
配置是否正确:
sudo logrotate -f /etc/logrotate.d/php-fpm
这个命令会强制执行一次日志轮转,-f
选项表示强制轮转。
设置定时任务:
logrotate
通常通过系统的cron任务自动运行。你可以检查/etc/cron.daily/
目录下是否有logrotate
的脚本:
ls /etc/cron.daily/logrotate
如果有,说明logrotate
每天都会自动运行一次。如果没有,你可以手动创建一个符号链接:
sudo ln -s /etc/logrotate.conf /etc/cron.daily/logrotate
通过以上步骤,你就可以成功设置Ubuntu系统中的PHP日志轮转。根据你的具体需求,可以调整配置文件中的参数。