天天看點

nginx日志輪詢切割實戰

apache切割工具: cronlog 和rotare等日志切割工具

nginx切割工具有: nginx cron+x    scripts

<code>[root@web01 ~]</code><code># mkdir -p /server/scripts</code>

<code>[root@web01 ~]</code><code># cd /server/scripts/</code>

<code>[root@web01 scripts]</code><code># vim cut_nginx_log.sh #vim輸入如下内容</code>

<code>cd</code> <code>/application/nginx/logs</code>

<code>/bin/mv</code> <code>access.log access_$(</code><code>date</code> <code>+%F).log</code>

<code>/application/nginx/sbin/nginx</code> <code>-s reload</code>

<code>[root@web01 logs]</code><code># /bin/sh /server/scripts/cut_nginx_log.sh</code>

<code>[root@web01 scripts]</code><code># ls /application/nginx/logs/</code>

<code>access.log  error.log  nginx.pid  access_2017-08-21.log</code>

<code>[root@web01 scripts]</code><code># date -s "2016/05/14" #設定現在時間為20160514</code>

<code>Sat May 14 00:00:00 CST 2016</code>

<code>[root@web01 scripts]</code><code># /bin/sh /server/scripts/cut_nginx_log.sh </code>

<code>[root@web01 scripts]</code><code># ls /application/nginx/logs/              </code>

<code>access_2016-05-14.log  access.log  nginx.pid</code>

<code>access_2017-08-21.log  error.log   www_access_2017-08-21.log</code>

繼續優化切割腳本

<code>[root@web01 scripts]</code><code># vim cut_nginx_log.sh </code>

<code>#</code>

<code>rsync</code> <code>.....to backup server</code>

<code>#del date before 7 day</code>

<code>find</code> <code>...</code>

設定定時任務:每天00:00切換日志

<code>[root@web01 scripts]</code><code># crontab -e</code>

<code>[root@web01 scripts]</code><code># crontab -l</code>

<code>#time sync by oldboy at 2010-2-1</code>

<code>*</code><code>/5</code> <code>* * * * </code><code>/usr/sbin/ntpdate</code> <code>time</code><code>.nist.gov &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1</code>

<code>#backup</code>

<code>00 00 * * * </code><code>/bin/bash</code> <code>/server/scripts/backup</code><code>.sh &amp;&gt;</code><code>/dev/null</code>

<code>######cut_nginx_log#####</code>

<code>00 00 * * * </code><code>/bin/sh</code> <code>/server/scripts/cut_nginx_log</code><code>.sh&gt;</code><code>/dev/null</code> <code>2&gt;&amp;1   </code><code>##這個就是切割日志</code>

上述腳本時間可以寫成access_$(date %F -d '-1day').log ##就是目前日志-1天意思

本文轉自sandshell部落格51CTO部落格,原文連結http://blog.51cto.com/sandshell/1958181如需轉載請自行聯系原作者

sandshell

繼續閱讀