nginx日志切割脚本,添加计划任务每天零点执行。可根据需要配置日志保留时间。
#! /bin/bash
#指定日志存放天数,超过及删除
delete_day=180 #存放180天
# 指定nginx日志的存放路径
log_path="/usr/local/nginx/logs/"
# 指定nginx日志的文件名
log_file="access.log"
# 指定切割后的日志存放路径
backup_path="/storage/nginx_old_logs/"
mkdir -p $backup_path
# 获取当前系统时间,并将其格式化为"YearMonthDay"的形式
time=$(date "+%Y%m%d")
# 切割日志
mv ${log_path}${log_file} ${backup_path}${log_file}.${time}
# 生成nginx日志文件
touch /usr/local/nginx/logs/acess.log
#清理180天前过期日志
find /storage/nginx_old_logs/* -type f -mtime +$delete_day -exec rm {} \;
#重新加载nginx
/usr/local/nginx/sbin/nginx -s reload