爱迪电脑

每天自动切割nginx日志

网站建立好一段时间了,随着每天的访问量暴增,我们也要对庞大的访问日志文件进行每日切割。

nginx

1、新建分割脚本文件

vi /www/split_nginx_logs.sh

2、粘贴如下内容

#!/bin/bash
SETDATE="$(date -d yesterday +%Y%m%d%H%M)"
cd /www/wwwlogs
rename 'access' ${SETDATE}_access *
rename 'error' ${SETDATE}_access *
mv *.log ./old
/www/server/nginx/sbin/nginx -s reload

3、保存后执行以下命令

chmod +x /www/split_nginx_logs.sh

4、新建每日计划任务

crontab -e

在最后一行键入以下命令保存即可。

0 0 * * * root /www/split_nginx_logs.sh > /www/split_nginx_logs.log 2>&1 &

nginx配置文件中的日志输出格式

access_log  /www/wwwlogs/www.domain.com_access.log;
error_log  /www/wwwlogs/www.domain.com_error.log;

作者: 丁程

Pubdate: 2022-2-12 18:17