在Linux系统中,使用logrotate工具可以方便地实现PHP日志的切割。以下是配置和使用logrotate进行PHP日志切割的方法:
logrotate已安装:大多数Linux发行版默认已经安装了logrotate。如果没有安装,可以使用以下命令进行安装:
对于基于Debian的系统(如Ubuntu):
sudo apt-get update
sudo apt-get install logrotate
对于基于RPM的系统(如CentOS、Fedora):
sudo yum install logrotate
logrotate配置文件:在/etc/logrotate.d/目录下创建一个新的配置文件,例如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
sharedscripts
postrotate
if [ -f /var/run/php-fpm/php-fpm.pid ]; then
sudo kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`
fi
endscript
}
这里的配置表示:
保存并退出配置文件。
测试logrotate配置是否正确:
运行以下命令来测试logrotate配置是否正确:
sudo logrotate -f /etc/logrotate.d/php-fpm
如果一切正常,你应该会看到类似以下的输出:
reading config file /etc/logrotate.d/php-fpm
...
Processing: /var/log/php-fpm/*.log
...
现在,logrotate将按照配置文件中的设置自动切割PHP日志。如果你想要手动触发日志切割,可以运行以下命令:
sudo logrotate -f /etc/logrotate.d/php-fpm