nginx日誌按照天進行分割
由於nginx的日誌本身只是支援按照server_name或者大小進行劃分,對於習慣了apache的按照一個網站每天一個日誌的我來說是不可以接受的,於是從網上找了幾個nginx按天分割的方法發現都是互相抄襲的,特別是裡面有一個命令是kill -9 `cat nginx.pid`,需要殺掉nginx子程式,我覺得不靠譜。
3.在nginx配置檔案server中加上
4.建立日誌目錄
5.建立日誌分割指令碼
6.建立啟動日誌分割指令碼
7.最終效果
我忽然想到我以前在做openstack的雲端儲存開發時,對rsyslog的日誌進行分割的方法,一用果然好用
原理是:
1.從一臺已經安裝好apache的機器上的apache bin目錄下把rotatelogs拷貝到本機的/opt/nginx_logs下
點選(此處)摺疊或開啟
- mkdir -p /opt/nginx_logs
- cp rotatelogs /opt/nginx_logs/
- chmod +x /opt/nginx_logs/rotatelogs
2.建立有名管道
點選(此處)摺疊或開啟
- mkdir /opt/nginx_logs/abc_www/
- mkfifo /opt/nginx_logs/abc_www/access_log
點選(此處)摺疊或開啟
- access_log /opt/nginx_logs/abc_www/access_log;
點選(此處)摺疊或開啟
- mkdir /opt/nginx_logs/abc_www/log/
點選(此處)摺疊或開啟
- [root@localhost nginx_logs]# cat /opt/nginx_logs/abc_www/rotate.sh
- baselogdir=/opt/nginx_logs/abc_www
- rotatelogs=/opt/nginx_logs/rotatelogs
- while [ 1 ]
- do
- echo `date +"%F %T"`" rotatelogs access start"
- $rotatelogs $baselogdir/log/access_%Y%m%d.log 86400 480 < $baselogdir/access_log
- echo `date +"%F %T"`" rotatelogs access stop"
- sleep 1;
- done
點選(此處)摺疊或開啟
- [root@localhost nginx_logs]# cat /opt/nginx_logs/abc_www/run.sh
- sh /opt/nginx_logs/abc_www/rotate.sh >> /opt/nginx_logs/abc_www/log/access-rotate.log 2>&1 &
相關文章
- 按日期分割nginx日誌Nginx
- nginx日誌分割小指令碼Nginx指令碼
- nginx自帶的日誌日期分割Nginx
- nginx日誌按天最佳化Nginx
- 使用shell指令碼對Nginx日誌進行切分指令碼Nginx
- CentOS 7.0下nginx實現每天定時分割日誌CentOSNginx
- shell分割日誌
- Nginx日誌配置Nginx
- nginx切割日誌Nginx
- nginx日誌切割Nginx
- nginx 清空日誌Nginx
- 使用shell進行日誌分析
- C#按照日期輸出程式日誌C#
- Nginx日誌輪訓Nginx
- nginx日誌切割配置Nginx
- nginx日誌處理Nginx
- nginx日常應用之日誌分割(四)Nginx
- nxlog4go 按天或按檔案大小分割日誌Go
- [技術分享]日誌切割(按天切割日誌)
- Nginx日誌格式設定Nginx
- 自定義Nginx日誌格式Nginx
- Nginx日誌配置詳解Nginx
- nginx日誌分析工具goaccessNginxGo
- 利用DNS日誌進行MySQL盲注DNSMySql
- Nginx訪問日誌、Nginx日誌切割、靜態檔案不記錄日誌和過期時間Nginx
- 日誌服務之使用Nginx模式採集日誌Nginx模式
- 日誌第三天
- 日誌第六天
- 日誌第四天
- nginx日誌檔案按天記錄定時清理迴圈記錄Nginx
- Laravel 自定義日誌驅動 -支援按類+日期分割日誌Laravel
- 如何定時切割nginx日誌?Nginx
- 004 Nginx日誌挖掘accessLogNginx
- Nginx 日誌分析及效能排查Nginx
- Nginx日誌分析解決方案Nginx
- 使用goaccess統計nginx日誌GoNginx
- 使用Log4j進行日誌操作
- 在oracle中Logmnr進行日誌挖掘Oracle