【Shell】Nginx日志文件切割脚本

为了日志的可读性,方便查找,通常需要将日志文件做日期分割,例如按照每天或者每周作为日志的分割点。

1.脚本内容

#!/bin/bash
#
#********************************************************************
#[Author]:       NPC
#[Date]:         2020-10-25
#[Description]:  Nginx Logs split
#********************************************************************
LOGS_PATH=/usr/local/nginx/logs
HISTORY_PATH=/usr/local/nginx/logs/history
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)

# 按照日期分割访问日志文件
mv "${LOGS_PATH}/access.log" "${HISTORY_PATH}/access_${YESTERDAY}.log"
# 按照日期分割错误日志文件
mv "${LOGS_PATH}/error.log" "${HISTORY_PATH}/error_${YESTERDAY}.log"
# 重新打开日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

2.添加定时任务

# 将脚本文件放在 /usr/local/nginx/sbin 目录下
# 赋予执行权限
chmod +x /usr/local/nginx/sbin/nginx_log_split.sh
# 设置定时任务,每天0分0点执行一次
# 添加定时任务 
crontab -e
0 0 1 * * /usr/local/nginx/sbin/nginx_log_split.sh
# 查看定时任务 
crontab -l
posted @ 2020-10-25 01:27  apnpc  阅读(221)  评论(0编辑  收藏  举报