【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
我的一点点工作