keep the nginx logs of the last 30 days

Viewed 15304

I want to keep the nginx logs of the lsat 30 days. The default configuration is 15 days, as the image shows. enter image description here

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.

3 Answers

Logrotate is a utility not specific to nginx that is installed by default on Ubuntu/Debian designed to ease management of log files. You can find config info and background at the manpages:

man logrotate

On my Debian server, the config for me is stored in /etc/logrotate.d/nginx. The manpages give examples of config files with intuitive names. For your case you should have the lines

daily
rotate 30

Save the result with

sudo logrotate /etc/logrotate.d/nginx

For a more in depth tutorial: https://www.digitalocean.com/community/tutorials/how-to-manage-logfiles-with-logrotate-on-ubuntu-16-04

Related