The logrotate configuration file for fpm services is located in /etc/logrotate.d/ directory:
Code:
# ls -l /etc/logrotate.d/*php*
-rw-r--r-- 1 root root 203 Nov 15 23:36 /etc/logrotate.d/php-fpm
-rw-r--r-- 1 root root 211 Jan 9 13:25 /etc/logrotate.d/plesk-php56
-rw-r--r-- 1 root root 211 Jan 9 12:46 /etc/logrotate.d/plesk-php70
-rw-r--r-- 1 root root 211 Jan 9 11:11 /etc/logrotate.d/plesk-php71
-rw-r--r-- 1 root root 211 Jan 9 14:50 /etc/logrotate.d/plesk-php72
Modify the corresponding file for required php-fpm service in an appropriate way:
For example, for system php-fpm /etc/logrotate.d/php-fpm file will look like the following:
Code:
/var/log/php-fpm/*log {
rotate 14
daily
missingok
notifempty
size 100M
compress
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/kill -SIGUSR1 `cat /run/php-fpm/php-fpm.pid 2>/dev/null` 2>/dev/null || true
endscript
}
Note: parameters rotate (specified in days), size and daily (or monthly, weekly) can be changed to meet the requirements.
If it is required to rotate log files more often, then remove parameter daily from the config above and create a cron task. For example, the following will run logrotate every 5 hours:
Code:
# crontab -e
01 01,06,11,16,21 * * * /usr/sbin/logrotate /etc/logrotate.d/php-fpm -s /var/lib/logrotate/logrotate.status