3

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 ?

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

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
|improve this answer|||||
  • 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
2

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

|improve this answer|||||
  • 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.