I want to keep the nginx logs of the lsat 30 days. The default configuration is 15 days, as the image shows.
I would like to keep the last 30 days instead.
Here are the looging settings of nginx:
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
But it doesn't say anything about "how oft" it should be taken.
I'm not a nginx expert at all, so I don't know how/where I can change that configuration.
Maybe someone there needed to do the same and want to help me.
To change this behavior, you'll have to change the logrotate file of nginx.
This file is probably located in /etc/logrotate.d.
For achieving what you're trying to do, put the directives weekly
and rotate 30
inside the file corresponding to nginx.
After that, use the following command to ensure the changes take effect:
logrotate /etc/logrotate.d/nginx-config-file
You can set up logrotate for nginx, in this way you can maintain logs for 30 days or more as per your requirements !
/etc/logrotate.d/nginx
/var/log/nginx/access_log {
rotate 7
size 5k
dateext
dateformat -%Y-%m-%d
missingok
compress
sharedscripts
postrotate
test -r /var/run/nginx.pid && kill -USR1 `cat /var/run/nginx.pid`
endscript
}
change value of #rotate accordingly ! 30,40 etc etc ...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With