日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux将访问日志切成每天,最简单自动切割 nginx 访问日志示例

發(fā)布時間:2024/7/23 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux将访问日志切成每天,最简单自动切割 nginx 访问日志示例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

網(wǎng)站上線后,沒怎么注意過日志,有一天需要查日志時,才發(fā)現(xiàn)竟然有 100?多個 G,一個文本文件竟然有 100 多個G,這也太大了。

nginx 是一個非常輕量的 web 服務(wù)器,體積小、性能高、速度快等諸多優(yōu)點。但不足的是也存在缺點,比如其產(chǎn)生的訪問日志文件一直就是一個,不會自動地進行切割,如果訪問量很大的話,將導(dǎo)致日志文件容量非常大,不便于管理。當(dāng)然了,我們也不希望看到這么龐大的一個訪問日志文件,那需要手動對這個文件進行切割。

整體思路:

由于 nginx?的日志,都是寫在一個文件中的,具體由我們的 nginx.conf?配置文件來決定,比如 access.log,那么我們可以在每天晚上 12 點,也就是每天0點,把這個 access.log?文件,重新命名一下,比如命令為 access_2017-11-22.log,之后再讓 nginx?重新寫一個 access.log?文件,這樣就可以達到每天一個日志文件,之后再想去查找,或管理,也方便很多啦。

具體實現(xiàn):

整個操作只涉及到了?重命名文件,以及讓 nginx?重新打開一下日志文件,所以可以簡單的來講一個 shell?腳本來實現(xiàn),再結(jié)合 linux crontab?計劃任務(wù),讓腳本在每天零點執(zhí)行即可。

腳本如下:

cat /usr/local/nginx/sbin/cut_nginx_logs.sh

#!/bin/bash

#指定 nginx?日志文件路徑

Logs_Path=/usr/local/nginx/logs

#獲取昨天的日期

Yesterday=$(date -d"yesterday" +%Y-%m-%d)

#重命名日志文件

mv ${Logs_Path}/access.log ${Logs_Path}/access_${Yesterday}.log

#給nginx?進程發(fā)送指令,重新打開日志文件

kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

PS: kill?命令必須要有,如果 nginx?沒有重新打開日志文件,則不會向新的文件寫入日志,還會繼續(xù)向原來的日志文件寫入。

contab 設(shè)置:

contab -e

0 0 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh

PS:具體周期可自行調(diào)整?腳本中的?date?命令和 crontab,比如,兩天,一周,一個月等

總結(jié)

以上是生活随笔為你收集整理的linux将访问日志切成每天,最简单自动切割 nginx 访问日志示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。