linux中NGINX日志切割和定时删除旧日志例子

  在nginx日志切割方面,我的方法和其他人用的方法有一些不一样,但对于我这种方法,如果有人觉得不好,可以给我提出,谢谢

nginx日志切割,我是直接写的一个简单的shell实现的,内容如下:

 代码如下 复制代码

mv /usr/local/nginx/logs/abc.log /www/logbak/abc`date +%Y%m%d%H%M`.log
/usr/local/nginx/sbin/nginx -s reload

这样执行以后,就会在/www/logbak目录下生成日志文件,你可以在/etc/crontab 里把执行这个shell的任务写上去,可以一小时执行一次,也可以每天执行一次,也可以一周执行一次,这个就看自己的需要了

我这里是每天早上8点执行,生成的文件格式是这样的:abc201111090801.log

所以我就根据文件的规律,找到删除日志文件的方法

 代码如下 复制代码

rm -f /www/logbak/abc`date '+%Y%m%d' -d ' -10 day'`*.log

这个也写到shell脚本里,然后每天执行一次,每天就回去/www/logbak目录里找当前时间之前10天的文件,并删除

再补充一个例子

1. 定义日志轮滚策略

 代码如下 复制代码

# vim nginx-log-rotate

/data/weblogs/*.log {
    nocompress
    daily
    copytruncate
    create
    notifempty
    rotate 7
    olddir /data/weblogs/old_log
    missingok
    dateext
    postrotate
        /bin/kill -HUP `cat /var/run/nginx.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

[warning]/data/weblogs/*.log使用通配符时,/data/weblogs/目录下的所有匹配到的日志文件都将切割。如果要切割特定日志文件,就指定到该文件。[/warning]

2. 设置计划任务

 代码如下 复制代码

# vim /etc/crontab

59 23 * * * root ( /usr/sbin/logrotate -f /PATH/TO/nginx-log-rotate)

这样每天23点59分钟执行日志切割。

时间: 2024-07-31 08:14:20

linux中NGINX日志切割和定时删除旧日志例子的相关文章

Linux中字符模式下设置和删除环境变量?

Linux中字符模式下设置和删除环境变量? bash下 设置:export 变量名=变量值删除:unset 变量名 csh下 设置:setenv 变量名 变量值删除:unsetenv 变量名

哪位能否可以提供一个vs2010中datagridview实现数据新增,修改删除的完整例子

问题描述 哪位能否可以提供一个vs2010中datagridview实现数据新增,修改删除的完整例子 解决方案 解决方案二:vs2010还没用过~~应该和2008和2005一样吧解决方案三:你可以直接利用向导,绑定datagridview数据源到sqlserver呀解决方案四:2010的就牛逼了?不一个样嘛自己写update,insert,delete或者用绑定自动更新解决方案五:晕哦..都一样的...4.0版本只是改了少部分东西~~~~解决方案六:我不建议数据库与显示控件绑定起来.如果这样容易

linux中nginx日志分析shell脚本

以前使用虚拟主机的时候,查看网站运行日志,就发现了很多异常的恶意的访问.当时因为自己并没有系统权限没办法对这些行为进行屏蔽.现在有了自己的云主机,前端时间查看日志,又发现了很多恶意访问.正好可以通过最近对shell的学习,来做一个简单的日志分析工具,来屏蔽一些这样的操作. 首先,所谓的分析工具,肯定是建立在人为的分析的基础上的.我们来看一点我的域名运行日志:  代码如下 复制代码 78.56.78.115 - - [21/May/2014:16:54:27 +0800] "POST /wp-lo

linux中nginx日志分析利器GoAccess使用方法

面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了. 对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快.满足这三点的goaccess确实是居家必备良药. 话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的.你也可以用它来分析apa

linux中文件操作命令(创建、删除、查看、权限设置)

创建文件(touch)命令 Linux 创建文件命令主要用到的是 touch 命令,touch 命令可用来修改文件的访问时间,修改时间,如果没有指定时间,则默认为当前时间,如果指定的文件不存在,则 touch 命令将创建该文件. 命令格式: touch [-acfm] [-r file(参照文件)] [-t decimtime(时间值)] [-d time(时间值)] [--time={atime,access,use,mtime,modify}] [--date=time] [--refere

linux中nginx内核参数优化配置

内核参数优化配置 vi /etc/sysctl.conf 添加以下参数设置后运行命令: /sbin/sysctl -p 关于Nginx内核参数的优化: net.ipv4.tcp_max_tw_buckets = 6000 设定timewait的数量,默认是180000. net.ipv4.ip_local_port_range = 1024 65000 允许系统打开的端口范围. net.ipv4.tcp_tw_recycle = 1 启用timewait快速回收. net.ipv4.tcp_tw

linux中Nginx与Lua执行顺序详解

1.1. 介绍 ngx_lua – 把lua语言嵌入nginx中,使其支持lua来快速开发基于nginx下的业务逻辑 该模块不在nginx源码包中,需自行下载编译安装.使用lua 5.1(目前不支持lua 5.2) 或 luajit 2.0 . 添加lua支持后,开发复杂的模块,周期快,依然是100%异步非阻塞. ngx_lua 哪些人在用: 淘宝.腾讯财经.网易财经.360.去哪儿网等 CloudFlare, CNN, Wingify, Reblaze, Turner, Broadcastin

linux中 Nginx 常见502错误问题解决办法

常见的Nginx 502 Bad Gateway解决办法如下: Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少. 针对这种情况的502错误,只需增加php-cgi的进程数.具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加.这个数据要依据你的VPS或独立服务器的配置进行设置.一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多. /usr/local/php/sbin/php-f

linux中Nginx Rewrite规则工作笔记

Rewrite是一种服务器的重写脉冲技术,它可以使得服务器可以支持 URL 重写,是一种流行的服务器技术.它还可以实现限制特定IP访问网站的功能.很多情况下,某个 IP 的访问很容易造成 CPU 100% (比如 某些搜索引擎的固定抓取,别人大量的采集站点),这个时候我们就要利用一些有效的手段封掉对方的 IP,让他无法消耗服务器的资源,封 IP 的方法有很多种,如果你的 Web(Nginx|Apache|other) 服务器安装了 Rewrite 模块的话,也可以试试利用 Rewrite 规则封