#!/bin/bash # 日志备份目录 bak_dir=/opt/backup/log_bak/nginx/ # 获取当前日期和小时数 day=$(date
+"%Y%m%d") log_hour=$(date +"%H") # 日志路径和文件 logs_path=/opt/lucky/logs/nginx/
access_log=${logs_path}web_access.log error_log=${logs_path}web_error.log #
获取四个小时前的时间和昨天的日期 ago=$(date +%H --date="-4 hour") yesterday=$(date +%Y%m%d --
date="-1 day") # 如果备份目录不存在,则创建该目录 mkdir -p ${bak_dir} # 拆分日志并移动到备份目录 cp ${
access_log} ${bak_dir}web_access-${day}_${log_hour}:00.log cp ${error_log} ${
bak_dir}web_error-${day}_${log_hour}:00.log # 清空日志文件 echo > ${access_log} echo
> ${error_log} # 删除四个小时前的日志文件 if [ -f ${bak_dir}web_access-${day}_${ago}:00.log
]; then rm -f ${bak_dir}web_access-${day}_${ago}:00.log fi if [ -f ${bak_dir}
web_error-${day}_${ago}:00.log ]; then rm -f ${bak_dir}web_error-${day}_${ago}
:00.log fi # 如果当前时间是下午2点,则删除昨天的日志文件 if [ ${log_hour} -eq 14 ]; then rm -f ${
bak_dir}web_access-${yesterday}* rm -f ${bak_dir}web_error-${yesterday}* fi