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'