定时清理 docker nginx 日志文件

Docker nginx

Nginx 如果开启了日志,Linux 系统中默认的文件通常是 /var/log/nginx/access.log

如果流量比较大时间久了会占用大量磁盘空间。

本文中 Nginx 是运行在Docker 容器中的,

所以清理时,需要将命令传递给Docker

首先获取 Docker Container ID

cid=$(docker ps | grep nginx | awk '{print $1}');

在宿主机执行清理命令

/usr/bin/docker exec $cid bash -c 'truncate -s 0 /var/log/nginx/access.log'

在 crontab 设置命令触发时间为每月1号的1点1分

1 1 1 * * cid=$(docker ps | grep nginx | awk '{print $1}');/usr/bin/docker exec $cid bash -c 'truncate -s 0 /var/log/nginx/access.log'