nginx 按天分割日誌 nginx apache nginx php nginx rewrite

來源:互聯網
上載者:User
nginx預設的日誌是統一寫到 安裝目錄的log下的 ,訪問日誌是 access.log,錯誤記錄檔是error.log
而且並沒有提供一個可配置的地方,對於生產環境,日誌都集中在一塊兒,沒過幾天記錄檔就可以大到幾個G,只能是使用作業系統的定時任務,自己寫指令碼定時執行,將log日誌進行切割。

參考網上前輩的文章,自己寫了一個指令碼出來。代碼如下:

#定義日誌的源路徑,即nginx的預設log路徑source_log_path=/usr/local/nginx/logs#定義儲存後的路徑位置dest_log_path=/opt/logs/nginx#定義log檔案的名稱,以每天為單位,定義日誌的首碼為昨天的日期,因為定時任務擬在淩晨零點後執行。yesterday=$(date -d"yesterday" +%Y%m%d) #echo ${yesterday}#rm -rf ${dest_log_path}/*#指定移動mv ${source_log_path}/access.log ${dest_log_path}/nginx_access_${yesterday}.logmv ${source_log_path}/error.log  ${dest_log_path}/nginx_error_${yesterday}.log #移動後,重新向nginx的主進程發送資訊,令nginx的主進程將日誌重新開啟。否則日誌將會繼續寫到mv後的路徑中kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`cd${dest_log_path}#進入日誌的路徑,查詢前天前的日誌,然後將其刪掉。find . -mtime +7 -name "*20[1-9][3-9]*" |xargs rm -rfexit0

最後,將該代碼儲存到一個sh檔案,並將該檔案加入到系統的定時任務中。

#定時任務的檔案在 /etc/crontab 下,vi此檔案,設定為每天 零點 執行。0 0 * * * root /bin/sh /opt/sampleEnvironment/commands/nginxlogperday.sh

代碼其實並不複雜。但是在寫的時候還是花費了太多時間,
遇到的問題是:在定義完變數後,比如source_log_path 執行該指令碼,即會報錯 command not found
到最後才發現, 我在定義 source_log_path 的時候 是這樣寫的 :

source_log_path = /usr/local/nginx/log

在等號兩邊均敲了一個空格,這樣就導致了上面的錯誤。在定義日期變數的時候,也是如此。

平時使用vi命令的時候,僅僅就停留在入門的階段,幾乎不會幾個命令。最多就知道“dd” 。
這次需要編輯的時候,才發現多麼費勁。這次使用的比較多的命令是:

刪除一行: dd
移動到行末尾: $
移動到行末尾並編輯: A (或者shift + a)
移動到文檔的末尾: shift + g

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介紹了nginx 按天分割日誌,包括了nginx方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.