龙空技术网

如何按天切割日志文件

米小多0304 35

前言:

而今小伙伴们对“linuxapache日志分割”大概比较珍视,姐妹们都想要学习一些“linuxapache日志分割”的相关文章。那么小编同时在网络上收集了一些对于“linuxapache日志分割””的相关内容,希望各位老铁们能喜欢,我们快快来学习一下吧!

简单明了,直接开始,给热爱编程的你我

apache

修改httpd.conf对以下两行进行调整

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}

添加到定时调度中,每日执行

标签: #linuxapache日志分割