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

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

具体的操作如下:

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

/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 两步之后,测试日志切割是否有效

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

4. 注释 /etc/anacrontab

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

经过上边的操作,一般情况下就可以将日志成功切割。

 

转载于:https://www.cnblogs.com/lph-shares/p/8716927.html

你可能感兴趣的:(使用 Linux 下的的logrotate进行日志的切割)