1. 程式人生 > >通過指令碼按天切割nginx日誌

通過指令碼按天切割nginx日誌

nginx 的日誌預設是不會進行切割的,如果我們不對其進行一些處理,那麼就會一天一天變大,等大到幾個 G 的時候,一旦出現問題,想通過日誌進行一些問題的排查都很困難了。

我的部落格中 nginx 日誌也是這麼個情況,於是打算做一下日誌切割。

指令碼如下:

  1. #!/bin/bash
  2. Date=`date -d '-1 day' '+%Y-%m-%d'`
  3. cd /var/log/nginx && mkdir logs/$Date
  4. for i in access.log error.log
  5. do
  6. gzip -c $i > logs/$Date/"$i"_"$Date".gz
  7. echo " " > $i
  8. find logs/ -ctime +30 | xargs rm -rf
  9. done

此處只用把指令碼中日誌的位置進行調整並建立 logs 目錄,就可以了。