Apache、Nginx等web服务器日志量巨大,如果不进行切割的话会导致日志文件过大,不容易清理,而且给日志分析收集工作带来麻烦。下例为Apache日志切割脚本,nginx等其他web服务同样适用


代码:

#!/bin/bash

apache_log_path="/usr/local/apache/logs"     #指定日志存储位置

log_filenames=`/bin/ls $apache_log_path`

save_days=7  #定义保留7天内日志

#按照日期时间存储日志  

/bin/mv $apache_log_path/access_log  $apache_log_path/access_log_`date +%F`.log

/usr/local/apache/bin/apachectl -k graceful #重新加载服务

# 查找7天前的日志文件并删除

find $apache_log_path -mtime +$save_days -exec rm -rf {} \;



ok,将脚本放到crontab定时执行就Ok了,其他web软件同样适用。注意日志文件重命名后需要重新加载服务,否则造成异常