运维过程中经常会发现一些 C 程序,每天会生产这样的日志: /home/admin/app_name/logs/access_log

那么天长地久,如果这个程序不会自动去轮转这个日志,那么这个日志文件则会越来越大,我们其实可以使用 linux 里面的 logrotate 来实现自定义日志轮转.

方法如下:

一、建立轮转配置文件:

  1. #vi /etc/logrotate.d/app_name
  2. /home/admin/app_name/logs/access_log
  3. {
  4. daily
  5. dateext
  6. copytruncate
  7. nocompress
  8. rotate 15
  9. }

// /home/admin/app_name/logs/access_log  指明日志文件的绝对路径
// daily       表示日志每天轮转一次
// dateext     表示切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,如果没有这个配置项则会附加一个小数点加一个数字序号
// copytruncate     表示在复制当前日志文件后,将日志文件清空;而不是将当前日志文件改名后创建一个新的
// nocompress     表示不压缩切换后的日志文件
// rotate 15     表示保存15份旧的日志文件

// 更多配置请参考 man logrotate 手册.

二、重启 syslogd 服务 (或 syslog-ng)

  1. service syslogd restart
  2. /usr/bin/killall -HUP syslogd
  3. service syslog-ng restart
  4. /usr/bin/killall -HUP syslog-ng

三、测试 (执行配置文件,强制进行一次日志轮转):

  1. logrotate -f /etc/logrotate.d/app_name

四、扩展其他日志切换操作:

  1. #ls /etc/logrotate.d/
  2. acpid conman cups httpd mgetty ppp psacct rpm samba sa-update setroubleshoot snmpd syslog-ng tsar up2date
  3. # 针对某个配置对其日志进行切换:
  4. logrotate -f config_name
  5. # 强制切换所有配置:
  6. logrotate -f /etc/logrotate.conf

Linux下使用logrotate实现日志切换的更多相关文章

  1. 在Linux下使用logrotate管理日志(转)

    原文地址:http://www.tuicool.com/articles/ieAnMjN logrotate是日志循环管理工具,可以分割日志文件,删除旧的日志文件,创建新的日志文件,循环管理日志从而节 ...

  2. Linux下一个简单的日志系统的设计及其C代码实现

    1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回 ...

  3. Linux下自动清除MySQL日志文件

    MySQL运行过程中会生成大量的日志文件,占用不少空间,修改my.cnf文件配置bin-log过期时间,在Linux下自动清除MySQL日志文件 [mysqld] expire-logs-days= ...

  4. linux 下tomcat catalina.out日志操作

    1. 查看日志 tail -f catalina.out 会动态打印日志. 2. 查看所有日志 less -f catalina.out 打开所有日志后,默认是显示第一页,常用命令用到如下: G:到达 ...

  5. Linux下使用rsyslog部署日志服务器 && 记录history并发送到rsyslog服务器

    一.syslog服务简介 rsyslog 是一个 syslogd 的多线程增强版.rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件 logger命令 将自定义的 ...

  6. linux下mysql开启二进制日志

    mysql的查询日志,慢查询日志,错误日志,网上的设置方法是正确的.但在二进制日志上设置有问题.正确的设置方法如下, 在/etc/my.cnf文件中[mysqld]下加上: server-id = 1 ...

  7. linux下查看tomcat的日志

    工作期间有碰到服务器日志相关的,需要看tomcat运行日志,简单搜了下,摘为随笔,以供参考 一种是利用docker查看 1.使用dockerdocker logs -f -t --since=&quo ...

  8. linux下grep分析apache日志的命令集合

    https://my.oschina.net/hmc0316/blog/112004 实例:月份英文简写英文全称一月Jan.January二月Feb.February三月Mar.March四月Apr. ...

  9. 如何在Linux下优雅的查询日志

    做为一名合格的Java后台开发 经常需要查询线上的日志,定位线上问题 所以熟练掌握日志查询的命令 可以使你更加迅速的定位错误日志位置,及时解决问题 在此,我将介绍几个自己工作中经常使用到的日志查询命令 ...

随机推荐

  1. 丑闻第一季 /全集Scandal迅雷下载

    丑闻 第一季 Scandal Season 1 (2011)本季看点:“格蕾之母”珊达·瑞密斯(Shonda Rhimes)最新创作的政治公关题材剧集<丑闻>因为播出在即加大了宣传攻势,最 ...

  2. itunes connect 沙盒帐号地区的问题导致无法进行充值

    项目代理给台湾发行,版本由项目提交appstore,台湾合作伙伴会进行测试.这里遇到一个问题,就是沙盒帐号测试的时候死活提示充值失败,不走正常的充值流程. 后来我分析了原因,主要是由于帐号的App S ...

  3. 超级账本环境搭建fabric

    :gotar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz vi ~/.profile export PATH=$PATH:/usr/local/go/b ...

  4. HttpURLConnection和HttpClient的简单用法

    HttpURLConnection的简单用法:先通过一个URL创建一个conn对象,然后就是可以设置get或者是post方法,接着用流来读取响应结果即可 String html = null; lon ...

  5. 《嵌入式Linux开发实用教程》

    <嵌入式Linux开发实用教程> 基本信息 作者: 朱兆祺    李强    袁晋蓉 出版社:人民邮电出版社 ISBN:9787115334831 上架时间:2014-2-13 出版日期: ...

  6. Java之旅--定时任务(Timer、Quartz、Spring、LinuxCron)

    在Java中,实现定时任务有多种方式,本文介绍4种,Timer和TimerTask.Spring.QuartZ.Linux Cron. 以上4种实现定时任务的方式,Timer是最简单的,不需要任何框架 ...

  7. [转]ThinkPHP的CURD易忽视点小结

    转自: http://www.oschina.net/code/snippet_2285640_44437. 1.使用对象的方法插入数据 D用法. $Form = D('Form'); $data[' ...

  8. [转]Linux awk 命令 说明

    From : http://blog.csdn.net/tianlesoftware/article/details/6278273 一.  AWK 说明 awk是一种编程语言,用于在linux/un ...

  9. Photoshop 使用阈值调整色阶

    1. 阈值原理 阈值的定义其实就是“临界点”,即过了这个临界点是一种情况(比如黑色),没有超过这个临界点是另外一种情况(比如白色),所以图像上只有黑.白两种情况出现.临界点的值由你定义: 阈值实际应用 ...

  10. go语言之进阶篇定时器停止

    1.定时器停止 示例: package main import ( "fmt" "time" ) func main() { timer := time.New ...