日志切割
就是把系统的日志以天为单位进行存放,即每一天的日志都分开放
企业当中每天都要备份昨天的日志,然后生成一个新的日志记录今天的
如果不做日志切割,当日志文件很大的时候,vim打开的时候可能出现卡死等问题
而且排错也简单
环境搭建
安装 Nginx
路径 /usr/local/nginx
操作流程
服务端
ip:192.168.1.1/24
host:server
cd /usr/local/nginx/logs
access.log
存放访问nginx服务器成功的日志信息
error.log
存放访问nginx服务器失败的日志信息
nginx.pid
严格来说这个不算日志,里面存放的是nginx进程的pid
du -sh access.log
查看日志大小
测试端
ip:192.168.1.100
host:client
添加域名解析
ab -c 10 -n 5000 curl http://192.168.1.100/index.html
完成 10 并发 ,5000 次访问 server
服务端
du -sh access.log
文件变大
mv access.log
date +%F -d -1day
_access.log备份
/usr/local/nginx/sbin/nginx -s reopen
重新生成新的日志
du -sh access.log
文件大小还原到初始值
测试端
ab -c 10 -n 5000 curl http://192.168.1.100/index.html
再次完成 10 并发 ,5000 次访问 server
服务端
du -sh access.log
文件大小发生改变
自动化日志切割
在生产环境中每一天的日志文件都是要打包备份的
如果每天都手动的去截取日志,重命名这样就很不方便,所以我们编写一个脚本并建立一个定时任务来进行这些工作
日志切割是自动执行的,写在crotab定时任务里面,写一个脚本实现
操作流程
cd /usr/local/nginx/logs
在nginx服务的日志目录下编写脚本
vim backup.sh
chmod +x backup.sh
添加执行权限
mkdir oldlogs
创建备份日志存放路径
./backup.sh
执行脚本,查看日志是否自动切割备份
cd oldlogs
ll
可以查看到生成日志备份文件
crontab -e
0 0 * * *
编写定时任务,实际企业当中的服务器每天晚上的00:00准时进行日志切割
crontab -l
查看定时任务