使用 Linux 下的的logrotate进行日志的切割

实际生产中,使用一个log文件来记录全部信息的话,一方面,时间太久,就会占用很大的空间;另外一方面,就是一个文件记录对于后期日志的查看很是不利。为了解决查看了一下资料,发现linux里面有一个logrotate 文件,经过增长配置,能够实现日志按天切割。python

具体的操做以下:linux

1. 在 /etc/logrotate.d 路径下建立一个新的文件(个人项目建立的是:pyweb_log ),具体内容以下:web

/home/python/Desktop/test_code/webserver/logs/py_web.log{   # py_web.log日志文件所在的绝对路径 
    daily                               # 日志切换频率是一天
    dateext                               # 切换后的日志文件格式为:py_web.log-日期 ,没有这行配置参数的话,会附加一个小数点与一个数字序号
   copytruncate                           # 在复制当前日志文件以后,www.linuxidc.com会将日志文件清空;
nocompress                             # 不压缩切换后的日志文件
  rotate
15                             # 保存15份旧的日志文件
  }

2. 编辑crontab文件 测试

2.1 crontab -e 进入编辑
2.2 在此文件最后插入此行配置参数 :
  00 24 * * * /usr/sbin/logrotate -f /etc/logrotate.d/pyweb_log >/dev/null 2>&1
2.3 crontab -l 查看crontab 文件全部的定时任务

3. 配置完1 2 两步以后,测试日志切割是否有效spa

# 强制执行日志切换,pyweb_log是在/etc/logrotate.d下的文件名
logrotate -f pyweb_log

4. 注释 /etc/anacrontab日志

 1 # 1 5 cron.daily nice run -parts /etc/cron.daily code

通过上边的操做,通常状况下就能够将日志成功切割。server

相关文章
相关标签/搜索