How to make the log file printed by access_log split

what’s the limit of the size of log file, and what will happen when it
reaches the limitation?
if I want to split the log file by timeline, say start a new file on the
beginning of an hour, how can I configure ngnix?

thanks

Posted at Nginx Forum:

Hello!

On Thu, Jul 25, 2013 at 04:52:38AM -0400, shawnxzhou wrote:

what’s the limit of the size of log file, and what will happen when it
reaches the limitation?
if I want to split the log file by timeline, say start a new file on the
beginning of an hour, how can I configure ngnix?

This isn’t something nginx is expected to do. Instead, this is
what your favorite log rotation program does, and then uses USR1
signal to instruct nginx to reopen log files, see [1]. Consult
your OS documentation for more details, usually “man newsyslog” or
“man logrotate” helps.

[1] Controlling nginx


Maxim D.
http://nginx.org/en/donation.html

Hi
There’s no size limit, it will keep getting bigger until your disk is
full
Here’s a script I use to rotate the log, run it from cron every hour
hope it helps

#!/bin/sh
PID=cat /usr/local/nginx/logs/nginx.pid
LOG="/usr/local/nginx/logs/access.log"
NOW=$(date +"%Y-%m-%d-%H-%M")
NEWLOG="${LOG}.${NOW}
mv ${LOG} ${NEWLOG}
kill -USR1 ${PID}
gzip ${NEWLOG}