Nginx定时切割日志实现详解
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,前言Nginx日志默认情况下写入到一个文件中,为了区分各个域下的日志,我们一般会分开存储。即时这样,文件也会变的越来越大,非常不方便查看分析。通常我们是以每日来做统计的,下面来聊聊以日期来分隔Ngin
千家信息网最后更新 2025年12月03日Nginx定时切割日志实现详解
前言
Nginx日志默认情况下写入到一个文件中,为了区分各个域下的日志,我们一般会分开存储。即时这样,文件也会变的越来越大,非常不方便查看分析。通常我们是以每日来做统计的,下面来聊聊以日期来分隔Nginx日志。
配置
编写脚本
#!/bin/bash#初始化LOGS_PATH=/usr/local/nginx/logsYESTERDAY=$(date -d "yesterday" +%Y%m%d)#按天切割日志mv ${LOGS_PATH}/bbs.52itstyle.com.access.log ${LOGS_PATH}/bbs.52itstyle.com.access_${YESTERDAY}.logmv ${LOGS_PATH}/blog.52itstyle.com.access.log ${LOGS_PATH}/blog.52itstyle.com.access_${YESTERDAY}.log#向nginx主进程发送USR1信号,重新打开日志文件,否则会继续往mv后的文件写数据的。原因在于:linux系统中,内核是根据文件描述符来找文件的。如果不这样操作导致日志切割失败。kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`#删除7天前的日志cd ${LOGS_PATH}find . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -fexit 0写入任务
#执行命令crontab -e#写入文件并保存0 0 * * * /home/scripts/cut_del_nginx_logs.sh
crontab
crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Linux下的任务调度分为两类,系统任务调度和用户任务调度。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
crontab服务安装
安装crontab:
yum install crontabs
服务操作说明:
service crond start //启动服务service crond stop //关闭服务service crond restart //重启服务service crond reload //重新载入配置
查看crontab服务状态:
service crond status
手动启动crontab服务:
service crond start
查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
加入开机自动启动:
chkconfig -level 35 crond on
crontab格式说明
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
在以上各个字段中,还可以使用以下特殊字符:
- 星号(*):代表所有可能的值,例如day字段如果是星号,则表示在满足其它字段的制约条件后每天都执行该命令操作。
- 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,"1,2,5,7,8,9"
- 中杠(-):可以用整数之间的中杠表示一个整数范围,例如"2-6"表示"2,3,4,5,6"
- 正斜线(/):可以用正斜线指定时间的间隔频率,例如"0-23/2"表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
任务
文件
服务
日志
字段
系统
调度
命令
进程
代表
斜线
星号
格式
配置
周期
周期性
就是
数据
整数
时间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
实体化视图数据库
创新网络安全人才评价机制
wow服务器邮件
绵阳展览展厅中控服务器
计算机网络技术专业从事工作
服务器中国地区
软件开发者协议
临床试验数据库锁定
企业网络安全和通讯
车载网络技术舒适性
服务器连接到电视
台湾网络安全厂商排名
复制表格中的一部分数据库
学软件开发什么学校好
嵌入式和移动软件开发是干嘛的
软件开发最基础的语言
如何从服务器外观看型号
营销软件开发在线咨询
安徽智能软件开发成本价
怎么通过dos打开软件服务器
启轩网络技术有限公司怎么样
创新网络安全人才评价机制
网络安全的成果
安卓软件开发方案
网络安全我知道心得体会
网络安全与金融监管
博世中国软件开发中心
论文翻译软件开发
sql数据库折线图制作
服务器输入正确密码提示错误