手机html网站开发视频,做网站行业如何跟客户交流,安卓网站建站系统下载,华为手机商城官网网站上线后#xff0c;没怎么注意过日志#xff0c;有一天需要查日志时#xff0c;才发现竟然有 100 多个 G#xff0c;一个文本文件竟然有 100 多个G#xff0c;这也太大了。nginx 是一个非常轻量的 web 服务器#xff0c;体积小、性能高、速度快等诸多优点。但不足的是…网站上线后没怎么注意过日志有一天需要查日志时才发现竟然有 100 多个 G一个文本文件竟然有 100 多个G这也太大了。nginx 是一个非常轻量的 web 服务器体积小、性能高、速度快等诸多优点。但不足的是也存在缺点比如其产生的访问日志文件一直就是一个不会自动地进行切割如果访问量很大的话将导致日志文件容量非常大不便于管理。当然了我们也不希望看到这么庞大的一个访问日志文件那需要手动对这个文件进行切割。整体思路由于 nginx 的日志都是写在一个文件中的具体由我们的 nginx.conf 配置文件来决定比如 access.log那么我们可以在每天晚上 12 点也就是每天0点把这个 access.log 文件重新命名一下比如命令为 access_2017-11-22.log之后再让 nginx 重新写一个 access.log 文件这样就可以达到每天一个日志文件之后再想去查找或管理也方便很多啦。具体实现整个操作只涉及到了 重命名文件以及让 nginx 重新打开一下日志文件所以可以简单的来讲一个 shell 脚本来实现再结合 linux crontab 计划任务让脚本在每天零点执行即可。脚本如下cat /usr/local/nginx/sbin/cut_nginx_logs.sh#!/bin/bash#指定 nginx 日志文件路径Logs_Path/usr/local/nginx/logs#获取昨天的日期Yesterday$(date -dyesterday %Y-%m-%d)#重命名日志文件mv ${Logs_Path}/access.log ${Logs_Path}/access_${Yesterday}.log#给nginx 进程发送指令重新打开日志文件kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)PS kill 命令必须要有如果 nginx 没有重新打开日志文件则不会向新的文件写入日志还会继续向原来的日志文件写入。contab 设置contab -e0 0 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.shPS具体周期可自行调整 脚本中的 date 命令和 crontab比如两天一周一个月等