#!/bin/bash
#nginx access log segmentation shell script
#日志目录
log_dir="/data/logs/"
backup_dir="/data/logs/backup/"
weblog_dir="/data/logs/weblog/"
cd $log_dir
time=`date +%Y-%m-%d --date="-1 day"`
#日志保存天数
save_days=15
#此处待优化(取得文件不带后缀的文件名)
filenames=`ls $log_dir*.log | xargs -n 1 | cut -f 1 -d "." | cut -f 4 -d "/"`
#日志目录下所有的日志文件为文件夹,循环新建对应的时间文件
for i in $filenames
do
cp $log_dir$i.log $backup_dir$i-$time.log
true>$log_dir$i.log
done
#weblog中前一天的日志移入backup
find $weblog_dir -mtime +0 -type f -exec mv {} $backup_dir \;
#删除backup中设置天数前的数据
find $backup_dir -mtime +$save_days -type f -exec rm -f {} \;