ホームページ  >  記事  >  バックエンド開発  >  【nginx】ログスクリプトを毎日自動カットする

【nginx】ログスクリプトを毎日自動カットする

WBOY
WBOYオリジナル
2016-08-08 09:21:46994ブラウズ

nginx 毎日のログの量が比較的大きい場合は、将来のクエリと分析を容易にするために、毎日自動的に切り取って保存するのが最善です

<code><span>#!/bin/sh</span><span>###################</span><span>#filename: nginx_log_rotate.sh</span><span>#vsersion: 0.1v</span><span>#1 0 * * * /bin/sh /home/project/monitor/nginx_log_rotate.sh >/dev/null 2>&1</span><span>###################</span>logs_path=<span>"/usr/local/openresty/nginx/logs"</span>
old_logs_path=<span>${logs_path}</span>/old
nginx_pid=`cat /usr/local/openresty/nginx/logs/nginx.pid`

time_stamp=`date <span>-d</span><span>"yesterday"</span> +<span>"%Y-%m-%d"</span>`

mkdir -p <span>${old_logs_path}</span><span>#grep some mode file</span><span>for</span> file <span>in</span> `ls <span>$logs_path</span> | grep log$ | grep -v <span>'^20'</span>`
<span>do</span><span>if</span> [ ! <span>-f</span><span>${old_logs_path}</span>/<span>${time_stamp}</span>_<span>$file</span> ]
    <span>then</span>
        dst_file=<span>"<span>${old_logs_path}</span>/<span>${time_stamp}</span>_<span>$file</span>"</span><span>else</span>
        dst_file=<span>"<span>${old_logs_path}</span>/<span>${time_stamp}</span>_<span>$file</span>.$$"</span><span>fi</span>
    mv <span>$logs_path</span>/<span>$file</span><span>$dst_file</span><span>#gzip -f $dst_file  # do something with access.log.0</span><span>done</span>kill -USR1 <span>$nginx_pid</span></code>

著作権表示: この記事は orangleliu (http:/ /blog.csdn.net /orangleliu/) のオリジナル記事、記事を転載する場合は申告してください。

上記は、[nginx] の毎日の自動ログ切断スクリプトを、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。