在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日志轮转。根据你的具体需求,可以调整配置文件中的参数。