PHP日志清理工具与方案
一 系统级工具
/var/log/php-fpm/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 www-data adm
sharedscripts
postrotate
if [ -f /run/php/php7.4-fpm.pid ]; then
kill -USR2 $(cat /run/php/php7.4-fpm.pid)
fi
endscript
}
常用命令:logrotate -d /etc/logrotate.conf(语法检查),logrotate -f /etc/logrotate.conf(强制执行)。配合 Cron 定时触发,形成自动化生命周期管理。truncate -s 0 /path/to/file.log 清空文件内容,或用 find /var/log -type f -name "*.log" -mtime +30 -delete 批量删除 30 天前的日志。操作前务必确认文件未被进程占用并做好备份。二 PHP应用层工具
三 集中式日志平台
四 常见日志路径与清理要点
truncate -s 0 而非直接 rm;对 PHP-FPM 执行轮转后发送 USR2 信号以重新打开日志文件,避免日志句柄丢失。