`

nginx日志分割 for linux

阅读更多

nginx日志分割 for linux

默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很难打开,于是便有了下面的脚本
 
使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限

 

复制代码代码如下:

chmod +x cutlog.sh

 

然后使用crontab -e 将此脚本加入到计划任务中,

 

复制代码代码如下:

00 00 * * * /bin/bash /root/cutlog.sh

 

让此脚本每天凌晨0点0分执行。

 

复制代码代码如下:

#!/bin/bash
#function:cut nginx log files shell
#设置您的网站访问日志保存的目录,我的统一放在了/home/wwwlogs目录下
log_files_path="/home/wwwlogs/"
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#设置你想切割的nginx日志文件名称,比如设置的日志文件名是52listen.com.log 的话,那这里直接填写 52listen.com 即可
log_files_name=(52listen.com access)
#设置nginx执行文件的路径。
nginx_sbin="/usr/local/nginx/sbin/nginx"
#设置你想保存的日志天数,我这里设置的是保存30天之前的日志
save_days=30
############################################
#Please do not modify the following script #
############################################
mkdir -p $log_files_dir
log_files_num=${#log_files_name[@]}
#cut nginx log files
for((i=0;i<$log_files_num;i++));do
mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
done
#delete 30 days ago nginx log files
find $log_files_path -mtime +$save_days -exec rm -rf {} \;
$nginx_sbin -s reload
转自:http://www.jb51.net/article/43696.htm
分享到:
评论

相关推荐

    Linux运维-d2企业级Nginx使用-01基于域名的日志分割.mp4

    Linux运维-d2企业级Nginx使用-01基于域名的日志分割.mp4

    linux nginx、tomcat日志分割存储

    让Nginx、tomcat每天(或每个星期,可自定义控制)生成一个日志文件,而不是将Nginx所有的运行日志都放置在一个文件中,这样每个日志文件都相对较小,定位问题也更容易

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割,压缩包包含shell切割脚本和使用说明,该脚本适合nginx同时也适合其他类似服务的日志切割,只要简单修改shell脚本即可,灵活多变,实用。

    Linux系统下nginx日志每天定时切割的脚本写法

    在Linux系统中,管理和维护大型Web服务器的Nginx日志是非常重要的工作,因为日志文件可能会变得非常大,占用大量磁盘空间。为了解决这个问题,Linux提供了一个名为logrotate的工具,它可以定期自动地切割和归档日志...

    如何定时清理Linux系统中的Nginx日志.docx

    在Linux系统中,管理和清理Nginx日志文件是维护服务器性能的重要环节。Nginx作为流行的Web服务器,其产生的日志文件如果不及时处理,可能会占用大量磁盘空间,影响服务器运行效率。以下是对如何定时清理Linux系统中...

    如何定时清理Linux系统中的Nginx日志.pdf

    在Linux系统中,管理和清理Nginx日志文件是一项重要的维护任务,因为不断增长的日志文件可能会占用大量磁盘空间,影响服务器性能。本篇主要介绍如何通过编写和调度shell脚本来实现Nginx日志的定时清理。 首先,我们...

    实现自动定期删除Nginx日志的方法

    在运维管理中,Nginx日志的管理和清理是一项重要的工作。日志文件记录了服务器运行的状态和请求信息,对于故障排查和性能分析至关重要。然而,如果不及时处理,日志文件会持续增长,占用大量磁盘空间。本文将详细...

    nginx日志操作

    linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。

    日志分割源码包.zip

    Cronolog是一款基于时间的日志分割工具,适用于Unix/Linux环境。它根据时间戳将HTTP请求的日志分割到不同的文件中,有助于管理和归档大量日志数据。例如,每小时或每天创建一个新的日志文件。cronolog的1.6.2-14....

    centos中nginx按日期自动分割访问日志的方法

    为了应对上述挑战,我们可以编写Shell脚本来实现Nginx日志的自动按日期分割功能。具体步骤如下: ##### 3.1 编写Shell脚本 首先,我们需要创建一个Shell脚本来实现日志文件的自动分割。以下是一个简单的示例脚本: ...

    nginx多server日志分割脚本分享

    4,注意我配置nginx日志文件名为 “access_{{站点网站}}.log” “error_{{站点网站}}.log” 代码如下:# !/usr/bin/bashlog_dir=”/usr/local/nginx/logs”back_log_dir=”/disk110/nginx_log”time=`date +%Y%m%d-...

    Linux下nginx生成日志自动切割的实现方法

    本文将详细介绍如何在Linux环境下通过Shell脚本实现Nginx日志文件的自动切割。 #### 实现步骤 ##### 步骤一:编写Shell脚本 首先,需要创建一个Shell脚本来处理日志文件的切割操作。该脚本将负责以下功能: 1. *...

    nginx-1.7.2 + cronolog-1.6.2

    Cronolog 是一个基于时间的日志分割工具,它可以根据设定的时间间隔将日志文件切割成多个小文件,便于管理和分析。1.6.2 版本提供了一些关键特性: 1. **日志分割**:根据时间(如每天、每小时)对日志文件进行切割...

    Nginx For Windows.zip

    通过配置,可以调整日志级别、格式,甚至实现日志分割和轮转。对于Windows用户,这些日志文件通常位于Nginx安装目录下。 **五、安全和优化** 为了提升安全性,Nginx可以配置SSL/TLS支持,实现HTTPS加密通信。同时...

    nginx日志切割shell脚本

    【知识点详解】 1. **日志管理**:在IT运维中,日志管理是一项重要的...通过以上步骤,我们能够理解如何利用Shell脚本实现Nginx日志的自动切割、归档和清理,从而有效管理日志文件,提高系统的维护效率和资源利用率。

    Crontab+Shell做Nginx日志切割脚本实例代码

    【Crontab+Shell做Nginx日志切割脚本】是Linux系统中常见的日志管理方式,主要用于解决日志文件过大导致的问题。Nginx作为一款广泛应用的Web服务器,其产生的日志文件可能会随着时间积累变得非常庞大,占用大量磁盘...

    搭建nginx下hls

    - 为了监控HLS流的状态,可以使用Nginx的访问日志和错误日志。同时,确保对HLS目录有适当的权限控制,避免未授权访问。 通过以上步骤,你就成功地搭建了一个基本的Nginx HLS服务器。你可以根据实际需求进行扩展,...

Global site tag (gtag.js) - Google Analytics