<code># 编写切割脚本</code>
<code># vim /data0/scripts/cut_nginx_log.sh</code>
<code>#!/bin/bash</code>
<code>logs_path=</code><code>"/data0/log/nginx"</code>
<code>YDATE=`</code><code>date</code> <code>+</code><code>"%Y"</code><code>`</code>
<code>MDATE=`</code><code>date</code> <code>+</code><code>"%m"</code><code>`</code>
<code>DDATE=`</code><code>date</code> <code>-d</code><code>"1 day ago"</code> <code>+</code><code>"%d"</code><code>`</code>
<code>HDATE=`</code><code>date</code> <code>+</code><code>"%H"</code><code>`</code>
<code>mkdir</code> <code>-p ${logs_path}/${YDATE}/${MDATE}/${DDATE}/</code>
<code>yesterday=`</code><code>date</code> <code>-d </code><code>"yesterday"</code> <code>+</code><code>"%Y%m%d"</code><code>`</code>
<code>for</code> <code>logname</code> <code>in</code> <code>`</code><code>find</code> <code>${logs_path} -maxdepth 1 -name </code><code>"*.log"</code><code>`</code>
<code>do</code>
<code> </code><code>domain=`</code><code>echo</code> <code>$</code><code>logname</code> <code>| </code><code>sed</code> <code>"s#/data0/log/nginx/##"</code><code>`</code>
<code> </code><code>mv</code> <code>${logs_path}/$domain ${logs_path}/${YDATE}/${MDATE}/${DDATE}/$domain\_${yesterday}.log</code>
<code>done</code>
<code>/usr/local/nginx/sbin/nginx</code> <code>-s reload</code>
<code>find</code> <code>${logs_path} -name </code><code>"*.log"</code> <code>-mtime +15 -</code><code>exec</code> <code>rm</code> <code>-fr {} \;</code>
<code># 添加执行权限</code>
<code>chmod</code> <code>+x </code><code>/data0/scripts/cut_nginx_log</code><code>.sh</code>
<code># 添加计划任务</code>
<code># crontab -l</code>
<code>0 0 * * * </code><code>cd</code> <code>/data0/scripts</code> <code>&& </code><code>/bin/sh</code> <code>cut_nginx_log.sh ></code><code>/dev/null</code> <code>2>&1</code>
本文转自 wpf926 51CTO博客,原文链接:http://blog.51cto.com/wupengfei/1958127,如需转载请自行联系原作者