利用logrotate定期生成日志,并且定期删除,适用于系统上面所有的日志

详细介绍 http://blog.csdn.net/hepeng597/article/details/7768615

参考 http://www.linuxidc.com/Linux/2011-04/34116.htm

1  比如 我们要切割nginx的日志,首先我们进入/etc/logrotate.d/这个目录下,然后建立nginx这个文件

vi  nginx

/data/wwwlogs/*nginx.log {       ##日志所在的目录
daily
rotate 5
missingok
dateext
compress
notifempty
sharedscripts
postrotate
    [ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}

参数说明:

monthly 指定转储周期为每月

daily 指定转储周期为每天

weekly 指定转储周期为每周

rotate count 指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份 (这里指保留5天的备份)

compress 通过gzip 压缩转储以后的日志

copytruncate  在复制当前日志文件后,将日志文件清空;而不是将当前日志文件改名后创建一个新的

notifempty 如果是空文件的话,不转储

dateext  切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期.

  [ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
这个参数是为了让nginx重新生成日志的

2.重启syslogd服务

service rsyslog restart

3 测试

#强制执行某个日志的切换,nginx是在/etc/logrotate.d下文件的文件名

logrotate -f /etc/logrotate.d/nginx

#如果在存放日志的目录下发现了切换的日志文件,则说明切换成功

时间: 2024-08-05 05:28:25

利用logrotate定期生成日志,并且定期删除,适用于系统上面所有的日志的相关文章

Linux系统故障分析与排查--日志分析

处理Linux系统出现的各种故障时,故障的症状是最先发现的,而导致这以故障的原因才是最终排除故障的关键.熟悉Linux系统的日志管理,了解常见故障的分析与解决办法,将有助于管理员快速定位故障点,"对症下药"及时解决各种系统问题. 一.主要日志文件包括以下三种类型:a.内核及系统日志:这种日志数据由系统服务syslog统一管理,根据其主配置文件"/etc/syslog.conf"中的设置决定将内核消息及各种系统程序消息记录到什么位置.系统中有相当一部分程序会把自己的日

【转】如何利用logrotate工具自动切分滚动中的日志文件

FROM : http://www.2cto.com/os/201503/381812.html 在很多实际项目中,应用程序会持续写日志,如果程序代码中没有调用支持自动切分(如按filesize或date切割)的日志库,则日志文件会很快增长到G级别.单机操作大文件对后续跟进日志来说非常不方便. 本文介绍如何利用logrotate这个工具来在应用程序外部切分日志. 1. logrotate是什么logrotate是大多数linux系统自带的日志切割工具,在shell终端输入"man logrota

【Linux笔记】如何利用logrotate工具自动切分滚动中的日志文件

在很多实际项目中,应用程序会持续写日志,如果程序代码中没有调用支持自动切分(如按filesize或date切割)的日志库,则日志文件会很快增长到G级别.单机操作大文件对后续跟进日志来说非常不方便. 本文介绍如何利用logrotate这个工具来在应用程序外部切分日志. 1. logrotate是什么 logrotate是大多数linux系统自带的日志切割工具,在shell终端输入"man logrotate"可查看其简介(部分摘出如下): logrotate is designed to

5、nginx日志切割和删除

5.Nginx日志切割和日志定期删除 LogDir=/data/logs/nginx   #日志存放目录 LogDate=`date +%Y%m%d`    #日志名称后缀 KeepLogDays=30   #保留的天数(看自己的需求) DelDate=`date -d "-${KeepLogDays} days" +%Y%m%d` #当前时间的前三十天时间戳(是一个具体的日期) (-d参数是删除 语法:date -d 3days 双引号引用的话中间可以有空格  否则会报错) (+%Y

七色花基本权限系统(5)- 实体配置的使用和利用T4自动生成实体配置

在前面的章节里,用户表的结构非常简单,没有控制如何映射到数据库.通常,需要对字段的长度.是否可为空甚至特定数据类型进行设置,因为EntityFramework的默认映射规则相对而言比较简单和通用.在这篇日志里,将演示如何对数据实体进行映射配置,并利用T4模板自动创建映射配置类文件. 配置方式 EntityFramework的实体映射配置有2种. 第一种是直接在实体类中以特性的方式进行控制,这些特性有部分是EF实现的,也有部分是非EF实现的.也就是说,在数据实体层不引用EF的情况下,只能使用不全的

nginx日志切割并删除7日之前的

shell脚本 vi /home/crontab/cut_nginx_log.sh  #编辑 #!/bin/sh logs_path="/usr/local/nginx/logs/" DAYS=7 mv ${logs_path}bbs_access.log  ${logs_path}nginx_logs/bbs_logs/bbs_access_$(date -d "yesterday" +"%Y%m%d").log mv ${logs_path}

cmake利用toolchain.cmake生成makefile之后,make生成静态库失败问题

问题描述 利用toolchian.cmake设置好编译器后,利用make指令生成静态库,出现以下问题 Error running link command: No such file or directory 出错原因,toolchain.cmake文件内没有声明静态库生成器AR:解决方式,在toolchian.cmake文件内添加下面的声明 SET(CMAKE_AR $(TOOLCHAIN_DIR)/bin/arm-linux-gnueabihf-ar CACHE FILEPATH "Arch

Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示

关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了SpringBoot如何集成Mybatis和Pagehelper,但是没有做出实际的范例,本篇博客是连接上一篇写的.通过AdminLTE前端框架,利用DataTable和PageHelper进行分页显示,通过对用户列表的增删改查操作,演示DataTable和PageHelper的使用. (1)Admi

利用wsdl.exe生成webservice代理类

根据提供的wsdl生成webservice代理类 1.开始->程序->Visual Studio 2005 命令提示 2.输入如下红色标记部分 D:/Program Files/Microsoft Visual Studio 8/VC>wsdl /language:c# /n:TestDemo /out:d:/Temp/TestService.cs D:/Temp/TestService.wsdl 在d:/Temp下就会产生一个TestService.cs 文件 注意:D:/Temp/T