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 ></code><code>/dev/null</code> <code>2>&1</code>
<code>#backup</code>
<code>00 00 * * * </code><code>/bin/bash</code> <code>/server/scripts/backup</code><code>.sh &></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></code><code>/dev/null</code> <code>2>&1 </code><code>##這個就是切割日志</code>
上述腳本時間可以寫成access_$(date %F -d '-1day').log ##就是目前日志-1天意思
本文轉自sandshell部落格51CTO部落格,原文連結http://blog.51cto.com/sandshell/1958181如需轉載請自行聯系原作者
sandshell