4

My access log file takeing more than 100 Go can i delete safely the access log file Could i delete it as root ? Can other users access to this file after recreating it ?

1
  • Make it empty: echo '' > /var/log/nginx/access.log
    – Cyborg
    Mar 17 '20 at 15:43
11

You can remove access.log as root user, or using sudo.

sudo rm /var/log/nginx/access.log

However after deleting it, the file will not be re-created until nginx is re-loaded or re-started. To reload nginx do:

sudo service nginx reload

To re-size the file to 0 bytes, without having to re-load or re-start nginx, use the truncate command:

sudo truncate --size 0 /var/log/nginx/access.log
7
  • Without reloading nginx how to empty it ?
    – ben teber
    Aug 24 '19 at 16:37
  • edited post - does that help?
    – suspectus
    Aug 24 '19 at 16:39
  • Yes thanks but can I empty the file without reloading or restarting the server have you any idea ?
    – ben teber
    Aug 24 '19 at 16:42
  • I do have an idea for you - see post
    – suspectus
    Aug 24 '19 at 16:46
  • 1
    Will truncating work reliably? In many cases, truncating a file that another process has open will cause it to keep writing at the old position, leaving a huge gap of nulls at the beginning.
    – Barmar
    Aug 27 '19 at 18:07
3

You should use the standard log rotation utility in Linux to rotate your logs and delete old logs. See man logrotate for more details.

1
  • 1
    This what we do, we rotate nightly.
    – Barmar
    Aug 27 '19 at 18:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.