How to enable logrotation for traefik?

2020-07-22 04:37发布

How do I enable log rotation for log files e.g. access.log.

Is this built in ?

Docs only say "This allows the logs to be rotated and processed by an external program, such as logrotate"

标签: traefik
3条回答
迷人小祖宗
2楼-- · 2020-07-22 04:48

Log Rotation

Traefik will close and reopen its log files, assuming they're configured, on receipt of a USR1 signal. This allows the logs to be rotated and processed by an external program, such as logrotate.

https://docs.traefik.io/v1.6/configuration/logs/#log-rotation

查看更多
forever°为你锁心
3楼-- · 2020-07-22 05:06

If you are running Traefik in a Docker container then you can do something like this:

Check that logrotate is installed

logrotate --version

Create file in /etc/logrotate.d/

vi /etc/logrotate.d/traefik

Put the following script, do not forget to fill with the container name.

/var/log/traefik/*.log {
  size 10M
  rotate 5
  missingok
  notifempty
  postrotate
    docker kill --signal="USR1" <container-name>
  endscript
}

Run!

logrotate /etc/logrotate.conf --debug 
logrotate /etc/logrotate.conf
查看更多
祖国的老花朵
4楼-- · 2020-07-22 05:08

It seems like theres no logrotation built-in so i enabled logration on the Host that the access.log is mounted to.

My logrotate-config for traefik 1.7.4 running in a container with volume mount to "/opt/traefik/logs":

/opt/traefik/logs/*.log {
  daily
  rotate 30
  missingok
  notifempty
  compress
  dateext
  dateformat .%Y-%m-%d
  create 0644 root root
  postrotate
   docker kill --signal="USR1" $(docker ps | grep traefik | awk '{print $1}')
  endscript
 }
查看更多
登录 后发表回答