1、为什么要进行日志分割?
nginx默认将日志信息写在一个文件中,时间一久日志文件中条目越来越多,文件越来越大,不方便查看,备份的时候也不需要备份重复的信息,故需分割日志,将日志按小时,天,周…分割,写到不同的日志文件中。
2、日志分割的原理
通过linux自定义脚本,完成日志的分割和备份,使用定时任务,实现自动备份。
2、日志分割如何操作?
(1)对nginx服务器上面的日志进行日志切割(手动方式)
第一步:查看nginx服务器的日志都有哪些类型
日志名称 | 日志类型 |
access.log | 存放成功访问nginx服务器的日志信息 |
error.log | 存放访问nginx服务器失败的日志信息 |
nginx.pid | 严格来说这个不算日志,里面存放的是nginx进程的pid |
只有这个服务开启时,该文件才存在:
第二步:查看当前时刻nginx服务器日志的大小,进行压力测试,增大访问日志文件
里面的内容太少了,因为我的nginx服务器是实验才搭建起来的,只测试过几次,因此内容少,实际企业当中日志的信息量是非常大的。
[root@server2 httpd]# ab -c 1000 -n 1000 http://192.168.13.134:8080/index.html //-c表示访问并发量,-n表示访问次数
关于压力测试命令ab使用方法,可以点击这里
####查看日志文件大小:
[root@server2 logs]# du -sh access.log
320K access.log
第三步:进行手动日志切割
[root@server2 logs]# mv access.log `date +%F -d -1day`_access.log
mv: overwrite ‘2020-10-29_access.log’? y
[root@server2 logs]# ls
2020-10-29_access.log error.log nginx.pid
[root@server2 logs]# /usr/local/nginx/sbin/nginx -s reopen //重新生成一个日志文件来存放今天的日志
[root@server2 logs]# ls
2020-10-29_access.log access.log error.log nginx.pid
[root@server2 logs]# cat access.log
[root@server2 logs]# ab -c 1000 -n 1000 http://192.168.13.134:8080/index.html
时间节点是9:59分钟,所有日志分割进了自定义 的时间日志文件
时间节点为10:00,所有的日志放进了access.log日志文件中
(2)对nginx服务器上面的日志进行日志切割(脚本方式)
第一步:在nginx服务的日志目录下面编写脚本,给权限
第二步:建立目录
执行脚本,查看日志是否自动切割备份
编写定时任务,使实际企业当中的服务器每天晚上的24:00准时去进行日志切割