Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> LinuxシステムでNginxログを定期的にクリーンアップする方法

LinuxシステムでNginxログを定期的にクリーンアップする方法

  

Nginxログファイルのクリーンアップ方法はどんどん大きくなり、Nginxサーバーの動作に影響を与えます。次の小シリーズはLinuxでNginxログをクリーンアップする方法を紹介します。それを知りましょう。

nginxのログファイルは手動セグメンテーションを必要とする、スクリプトファイルを作成clear_log.sh

ファイルのパス/usr/local/nginx/clear_log.sh

VI clear_log.sh 。次の内容を入力してください。

#! /bin /bash

cp /usr/local/nginx/logs/error.log /usr /local /nginx /error - $(日付-d'昨日' +'%Y%m%d')。log

#最初に元のエラーログファイルをコピーし、実際のログパスに従って入力してください。

cat /dev /null /> /usr /local /nginx /logs /errorログ

#エラーログファイルをクリアする

cp /usr /local /nginx /logs /access.log /var /log /nginx /access /access - $(date -d'昨日&'); +'%Y%m%d')。log

#最初に通常のアクセスログを最初にコピーします。

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

#元の通常のアクセスログを消去する

dellog.shファイルを作成します。パス/usr /local /nginx

vi dellog.sh

#! /bin /sh

/usr /nginx /logs /error -mtime + 7 -type f -name /*.logを検索します。  Xargs rm -f

/usr /nginx /logs /access -mtime + 7 -type f -name /*.logを検索します。  Xargs rm -f

#7日前に定期的にログファイルを削除する-e、次の内容を入力します。

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

#0毎日0時/usr/nginx/clear_log.sh

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

#execute /usr/nginx/dellog.sh

毎日0時、保存後に終了し、crontab rootコマンドを入力してください。 /var /spool /cron /フォルダの下にある、対応するコピーファイルのルートを参照してください。この時点で、nginxログは分割され、毎日クリアされます。

ロジックの詳細:たとえば、3月18日の0:00に、システムは2つのシェルスクリプトclear_log.shとdellog.shを自動的に実行します。 Clear_log.shは3月17日のログファイルをそれぞれaccess_20140317.logおよびerror_20140318.logとして生成し、元のaccess.logおよびerror.logを消去します。 Dellog.shはファイルの作成時間を自動的に決定します。もし15日前であれば、自動的にクリアされます。

上記はLinuxでNginxログをクリーンアップする方法です。Nginxログには自動クリーニング機能がないからです。それは一般的に丸太を切ることによって処理されます。

Copyright © Windowsの知識 All Rights Reserved