Linux下nginx生成日志自动切割

1、编辑切割日志的 shell 程序,目录自定

#vi /data/nginx/cut_nginx_log.sh

输入代码:

#!/bin/bash

# This script run at 00:00

function cutAccess()
{
    dir=$1
    newdir="${dir}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")"
    suffix=$(date -d "yesterday" +"%Y%m%d")
    mkdir -p $newdir
    mv ${dir}/access.log ${newdir}/access.$suffix.log
}

cutAccess "/home/wwwlogs/www.yourdomain.com/"
cutAccess "/home/wwwlogs/www.yourdomain-1.com/"
cutAccess "/home/wwwlogs/www.yourdomain-2.com/"

# 重启 nginx
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

2、加入定时任务,每天0点自动切割

# crontab -e
0 0 * * * /bin/bash /data/nginx/cut_nginx_log.sh

3、nginx 日志格式

log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
            '$status $body_bytes_sent "$http_referer" '
            '"$http_user_agent" $http_x_forwarded_for';
access_log  /home/wwwlogs/www.yourdomain.com/access.log  access;
时间: 2024-09-10 07:04:28

Linux下nginx生成日志自动切割的相关文章

Linux下Oracle归档日志自动清理脚本代码(sh)_linux shell

复制代码 代码如下: #!/bin/sh export BACK_DATE=`date +%Y%m%d` export BACKUP_PATH=/home/oracle/dbbak echo `mkdir -p ${BACKUP_PATH}/archivelog/${BACK_DATE}` rman msglog=$BACKUP_PATH/archivelog/${BACK_DATE}/arch_0_$BACK_DATE.log << EOF connect target /; delete

Linux下nginx日志每天定时切割实例

教程目的:   使用Linux系统自带的命令logrotate对Nginx日志进行切割.   Nginx安装目录:/usr/local/nginx/   Nginx日志目录:/usr/local/nginx/logs/./usr/local/nginx/logs/nginx_logs/  1.添加nginx日志切割脚本   cd  /etc/logrotate.d  #进入目录   vi   /etc/logrotate.d/nginx   #编辑脚本   /usr/local/nginx/lo

Linux下Tomcat catalina.out自动归档,以及logrotate 配置详解

Linux下Tomcat catalina.out自动归档 如果 catalina.out 日志达到 2GB 大小的时候,Tomcat 因为缓存问题,便没有办法继续输出日志了.  为了避免这种情况,你需要及时对 catalina.out  进行归档.  实际上 Tomcat 自身也会对日志内容进行归档,但是归档后,Tomcat 不会清理 catalina.out 的内容,这将会导致 catalina.out 越来越大.  下面的方法能够使用在 linux/unix 的机器上.  如果我们期望每天

Linux下nginx配置https协议访问的方法_Linux

一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/nginx -V 如下所示: configure arguments: --prefix=/usr/local/nginx --with-google_perftools_module --without-http_memcached_module --user=www --group=www --

linux下怎么写一个自动创建文件夹和文件的脚本?

问题描述 linux下怎么写一个自动创建文件夹和文件的脚本? linux下怎么写一个自动创建文件夹和文件的脚本?就是说我给一个绝对路径,程序会自动帮我创建在路径中没有的文件夹和文件. 解决方案 http://blog.csdn.net/hellochenlian/article/details/37566269 -p, --parents 可以是一个路径名称.此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录; 解决方案二: mkdir 加上

Lnmp下Nginx日志自动切割脚本

该脚本会自动切割/home/wwwlogs/目录下所有的log文件 #!/bin/bash #自动版日志切割 无需设置 #set the path to nginx log files log_files_path="/home/wwwlogs/" log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%

Linux下nginx日志统计的研究

是由于看组内大神@沈洲大神做的浏览器统计,一时我也想练练,于是今天一天没有出出(当然还是得吃饭的)- 思路     首先是写个自动定时任务,在每天夜里23:55的时候运行脚本,脚本做日志切割和转成需要的数据json    制作访问接口可以获取分析后的json数据,比如浏览器型号,系统型号    根据接口画出饼状图 定时任务-解析日志 写一个以每天23:55执行的shell,大概内容如下: # /bin/bash # 移动数据日志为lastcp -f /home/access.log /home/

Linux下安装awstats日志统计分析

1. 下载安装 cd /data/software wget http://prdownloads.sourceforge.net/awstats/awstats-7.0-1.noarch.rpm   2. 开始配置 安装依赖包: yum -y install perl-libwww-perl.noarch perl-CPAN   rpm -ivh awstats-7.0-1.noarch.rpm cd /usr/local/awstats/tools perl awstats_configur

Linux下Nginx+Django+uWsgi+MySQL多站点虚拟环境搭建

环境说明 Linux : rhel 5.3 nginx:nginx-1.6.2 python:2.7.9 django: 1.6.7 uwsgi: 2.0.10 注意,要预先装好编译环境必备的开发包及libxml2,python-devel,pcre-devel,mysql-devel 2.     软件下载地址 nginx     http://nginx.org/download/nginx-1.6.2.tar.gz Python     https://www.python.org/ftp