不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > 如何定時(shí)清理Linux系統(tǒng)中的Nginx日志

如何定時(shí)清理Linux系統(tǒng)中的Nginx日志

時(shí)間: 孫勝652 分享

如何定時(shí)清理Linux系統(tǒng)中的Nginx日志

  Nginx日志文件如何不定情清理,會(huì)變得越來越大,影響Nginx服務(wù)器的運(yùn)行,下面學(xué)習(xí)啦小編就給大家介紹下Linux中清理Nginx日志的方法,一起來了解下吧。

  nginx日志文件需要手動(dòng)分割,創(chuàng)建腳本文件clear_log.sh

  文件路徑/usr/local/nginx/clear_log.sh

  vi clear_log.sh。輸入如下內(nèi)容

  #!/bin/bash

  cp /usr/local/nginx/logs/error.log /usr/local/nginx/error-$(date -d “yesterday” +“%Y%m%d”).log

  #先復(fù)制原來的錯(cuò)誤日志文件,請根據(jù)自己實(shí)際的日志路徑填寫

  cat /dev/null 》 /usr/local/nginx/logs/error.log

  #清空錯(cuò)誤日志文件

  cp/usr/local/nginx/logs/access.log /var/log/nginx/access/access-$(date -d “yesterday” +“%Y%m%d”).log

  #先復(fù)制原來的正常訪問日志

  cat /dev/null 》 /usr/local/nginx/logs/access.log

  #清空原來的正常訪問日志

  創(chuàng)建dellog.sh文件,路徑/usr/local/nginx

  vi dellog.sh

  #!/bin/sh

  find /usr/nginx/logs/error -mtime +7 -type f -name /*.log | xargs rm -f

  find /usr/nginx/logs/access -mtime +7 -type f -name /*.log | xargs rm -f

  #定期刪除七天前的日志文件

  啟動(dòng)linux下的計(jì)劃任務(wù),將剛才創(chuàng)建好的兩個(gè)shell腳本加入此計(jì)劃

  crontab -e,輸入如下內(nèi)容

  0 0 * * * /usr/nginx/clear_log.sh

  #每天0點(diǎn)執(zhí)行/usr/nginx/clear_log.sh

  0 0 * * * /usr/nginx/dellog.sh

  #每天0點(diǎn)執(zhí)行 /usr/nginx/dellog.sh

  保存后退出,輸入命令crontab root就會(huì)看到/var/spool/cron/文件夾下看到相應(yīng)的副本文件root。至此完成nginx日志按天拆分與定期清除。

  邏輯詳解:比如現(xiàn)在是3月18日0點(diǎn)0分,系統(tǒng)會(huì)自動(dòng)執(zhí)行clear_log.sh與dellog.sh兩個(gè)shell腳本。clear_log.sh會(huì)把3月17日的日志文件分別生成為access_20140317.log與error_20140318.log,然后把原來的access.log與error.log分別清空。dellog.sh則會(huì)自動(dòng)判斷該文件的創(chuàng)建時(shí)間,如果是十五天前的就會(huì)自動(dòng)清除

  上面就是Linux清理Nginx日志的方法介紹了,因?yàn)镹ginx日志沒有自動(dòng)清理的功能,一般采用切割日志的方法進(jìn)行處理。

316027