ErrorLog "| /usr/local/apache/bin/rotatelogs /data/www/logs/%Y%m%d_error.log 86400 480"CustomLog "| /usr/local/apache/bin/rotatelogs /data/www/logs/%Y%m%d_access.log 86400 480" vcommon
利用命令rotatelogs 对日志进行切割,查找该命令的位置利用:which rotatelog
指定日志文件的位置和名称/data/www/logs/error_log-%Y%m%d
指定分割韶光:86400 默认单位为s。也便是24小时

指定分区时差:480 默认单位m,也便是8小时
网站日志(PHP日志等)利用调度任务#!/bin/bash# 备份php-fpm 及 web的日志# 本日的日期#file_date=$(date +"%Y%m%d")# 昨天的日期file_date=$(date -d"1 day ago" +"%Y%m%d")# php log的路径log_path_php=/home/www/logs/# web log的路径log_path_web=/home/www/logs/# 备份目录back_path=/home/www/logs_bak/# =================== 备份php log ========================mv ${log_path_php}php-fpm.log ${back_path}php/php-fpm.log_${file_date}mv ${log_path_php}php_slow.log ${back_path}php/php_slow.log_${file_date}mv ${log_path_php}php_error.log ${back_path}php/php_error.log_${file_date}mv ${log_path_php}${file_date}_error.log ${back_path}apache/${file_date}_error.logmv ${log_path_php}${file_date}_access.log ${back_path}apache/${file_date}_access.log# 主进程发送USR1旗子暗记,重新打开日志文件,否则会连续往mv后的文件写数据的。# 缘故原由在于:linux系统中,内核是根据文件描述符来找文件的。如果不这样操作导致日志切割失落败kill -USR1 `ps axu | grep "php-fpm: master process" | grep -v grep | awk '{print $2}'`# =================== 备份web log ========================# 访问日志文件名格式为 xx_access.log;缺点日志文件名格式为 xx_error.log# 通过循环自动备份不同网站的日志文件#cd ${log_path_web}#for file in $(ls _access.log);#do# mv ${file}{,_$file_date}#done# 向nginx主进程发送USR1旗子暗记,重新打开日志文件,否则会连续往mv后的文件写数据的。缘故原由在于:linux系统中,内核是根据文件描述符来找文件的。如果不这样操作导致日志切割失落败#kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`
添加到定时调度中,逐日实行
定时删除日志#!/bin/bash #the date 7 days agoDate_7=`date -d "-2 day" +%Y%m%d`http_log_path="/home/www/logs_bak" #clear logsrm -fr ${http_log_path}/apache/${Date_7}_access.logrm -fr ${http_log_path}/apache/${Date_7}_error.logrm -fr ${http_log_path}/php/php-fpm.log_${Date_7}rm -fr ${http_log_path}/php/php_error.log_${Date_7}rm -fr ${http_log_path}/php/php_show.log_${Date_7}
添加到定时调度中,逐日实行