实际生产中,使用一个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