nginxのは、どのように保存されたログファイルをカットします

時間が経つにつれて、成長しているログファイルの下では、ログファイルには、サーバの効率に深刻な影響が大きすぎる、ログファイルの定期的な切削加工を必要としています。
通常、一日の切断により、時間のカットで、日によってカット毎月カットを、持っている道をカット。
それでは、どのようにそれをカットしていますか?
アイデア:

  1. ログファイルの保存パスを作成します。
  2. 曜日の時間として名前を変更するログファイル
  3. nginxのは、新しいログファイルを再生成するので、-USR1数nginxのを殺すメインプロセスにシグナルを送ります

アイデアを知って、具体的には、ポイントコード私を見ることができません
00:00に以下の例のためのnginxのアクセスログのaccess_logを切断毎日、詳細に切断する工程を説明

ステップ1:日カットシェルスクリプトによって次のログ・ファイルを入力し、div_nginx_log.shスクリプトを作成します。

#!/bin/bash
// nginx的日志文件路径
logs_path="/data1/logs/"

// 创建日志文件存放路径
mkdir -p ${logs_path}$(date -d "yesterday" + "%Y")/$(date -d "yesterday" + "%m")/
// 将日志文件以当天时间为名字进行重命名
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
// 发送kill -USR1信号给Nginx的主进程号,让Nginx重新生成一个新的日志文件
kill -USR1 `cat /var/nginx/nginx.pid`

ステップ2:nginxのログファイルをカット、午後12時00分毎日のcrontabを設定します。

// 进入编辑crontab
crontab -e

// 输入配置
// div_nginx_log.sh脚本的路径要写绝对路径
00 00 * * * /bin/bash /root/div_nginx_log.sh

上記の二つのステップによると、それは完了です

注意:

あなたはcrontabの効果を買う余裕はない設定を変更した場合、クーロンをリロード:リロード/etc/init.d/cron
crontabのサービスを再起動するのに十分でない場合:/etc/init.d/crond再起動を

おすすめ

転載: www.cnblogs.com/phonecom/p/11224387.html