亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nginx 日志怎么定時切割

發布時間:2021-07-12 11:00:40 來源:億速云 閱讀:159 作者:chen 欄目:大數據

這篇文章主要講解了“nginx 日志怎么定時切割”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“nginx 日志怎么定時切割”吧!

最近有個需求,需要查看我們官網的日活,我是打算通過查看 nginx 日志,對每條日志進行切割,過濾出 ip,然后通過 set 集合去重,查看集合 set 的長度就是當天的日活了。我的 nginx 是通過 yum 安裝的,默認會對 nginx 日志進行切割,但是每天切割的時間不是當天的 00 點,這樣得到的日活數據可能不太準確。我就打算自定義 nginx 日志的切割。

nginx 日志怎么定時切割

所謂的"切割",并不是真的把一個文件"切成兩個",只是把原來的"access.log"文件重命名,比如重命名為今天的日期"2020-05-17.log",然后再創建一個名為"access.log"的新文件,以便新生成的日志仍然可以寫入到名為"access.log"的新文件中,這樣就能實現所謂的"日志滾動"或者"日志切割"的效果了。

但是,這樣做會遇到一些問題,我們來手動操作一下,首先,重命名文件


mv access.log 2020-05-17.log

我們已經重命名了"access.log"文件,但是你會發現,重命名后,nginx日志仍然會寫入到"2020-05-17.log"文件中,并不會自動創建一個新的"access.log"文件,即使你手動創建了一個新的"access.log"文件,nginx仍然會把日志寫入到重命名后的"2020-05-17.log"文件中。

出現上述情況,是因為nginx進程讀寫日志文件時,是通過文件描述符去操作的,雖然我們修改了原"access.log"文件的文件名,但是原文件描述符與文件本身的對應關系仍然存在,所以,單單對文件重命名是不夠的,我們需要讓nginx重新打開一個新文件,以便將新的日志寫入到新文件中。

通過yum源安裝nginx后,默認會安裝一個日志滾動的配置文件,這個配置文件就是 "/etc/logrotate.d/nginx" ,需要把這個文件刪除。默認的日志路徑是在 "/var/log/nginx/" ,我是在這個文件夾下寫了一個 shell 腳本, nginx_log_split.sh







D=$(date +%Y-%m-%d) # 獲取當天的日期# 移動文件mv -f /var/log/nginx/access.log /var/log/nginx/${D}.logsleep 0.5s# 重啟nginx/usr/sbin/nginx -s reload

使用 crontab 執行定時任務,crontab -e 后編輯一行


00 00 * * * /var/log/nginx/nginx_log_split.sh


感謝各位的閱讀,以上就是“nginx 日志怎么定時切割”的內容了,經過本文的學習后,相信大家對nginx 日志怎么定時切割這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

廊坊市| 贞丰县| 文山县| 蓬莱市| 南召县| 隆昌县| 济宁市| 贞丰县| 于都县| 方正县| 西安市| 洞口县| 铜陵市| 榆林市| 肇州县| 阳高县| 蕉岭县| 司法| 张家界市| 泰来县| 京山县| 南郑县| 宁夏| 台前县| 疏附县| 乐平市| 永顺县| 桂平市| 达州市| 社旗县| 绥宁县| 新巴尔虎左旗| 平塘县| 洪雅县| 东丰县| 上思县| 土默特左旗| 连城县| 丰原市| 保靖县| 成安县|