shell+定时任务+nginx信号管理实现日志按日期切割存储

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: shell+定时任务+nginx信号管理实现日志按日期切割存储

正文


我们每天凌晨00:00:01把昨天的日志重命名,放在特定的目录下,再USR1信息号控制nginx重新生成新的日志文件

在目录/usr/local/nginx/logs/下新建shell脚本runlog.sh

注:以下代码中的文件位置均可自行更改

# 定义sh解释器
#!/bin/bush
# 定义要分割的日志的存储位置
LOGPATH=/usr/local/nginx/logs/access.log
# 定义分割后的日志的存储位置,$(date -d yesterday +%Y%m):名为年份+月份的目录
BASEPATH=/usr/local/nginx/logs/$(date -d yesterday +%Y%m)
# 递归创建以BASEPATH为名的目录
mkdir -p $BASHPATH
# 将字符串……赋值给bak
bak=$BASEPATH/$(date -d yesterday +%d)_access_log
# 将$LOGPATH更名为$bak
mv $LOGPATH $bak
# 创建$LOGPATH文件
touch $LOGPATH
# 控制Nginx重新生成日志文件
kill -USR1 `/usr/local/nginx/logs/nginx.pid`

然后使用crontab命令编辑定时任务

crontab -e• 1

在打开的编辑窗口输入

01 00 * * * sh /usr/local/nginx/logs/runlog.sh

crontab文件的含义:

# 用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
# minute hour day month week command
# 分 时 日 月 周 命令
# 每项设置的解释
minute 表示分钟,可以是从0到59之间的任何整数。
hour 表示小时,可以是从0到23之间的任何整数。
day 表示日期,可以是从1到31之间的任何整数。
month 表示月份,可以是从1到12之间的任何整数。
week 表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command 要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。它的

这时,即设置好了Nginx的定时日志切割存储,每天的凌晨00:00:01把昨天的日志切割存储起来。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
7月前
|
存储 运维 监控
SelectDB 实现日志高效存储与实时分析,完成任务可领取积分、餐具套装/水杯/帆布包!
SelectDB 实现日志高效存储与实时分析,完成任务可领取积分、餐具套装/水杯/帆布包!
|
8月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
615 90
|
6月前
|
存储 数据可视化 开发工具
【Application Insights】Application Insights存储的Function App的日志存在"Operation Link" 为空的情况
在将 Azure Functions 升级到 .NET 8 和 Isolated Worker 模式后,Application Insights 的请求日志中 `operation_Link` 字段为空,导致分布式追踪无法正常关联。解决方法包括:确保引用正确的 SDK 包(如 `Microsoft.Azure.Functions.Worker.ApplicationInsights`),正确配置 Application Insights 服务,移除默认日志过滤规则,并使用最新依赖包以支持分布式追踪。通过这些步骤,可恢复端到端事务视图的可视化效果。
140 10
|
11月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
975 3
|
存储 消息中间件 大数据
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
255 4
|
存储 分布式计算 资源调度
通过日志聚合将作业日志存储在HDFS中
如何通过配置Hadoop的日志聚合功能,将作业日志存储在HDFS中以实现长期保留,并详细说明了相关配置参数和访问日志的方法。
250 1
通过日志聚合将作业日志存储在HDFS中
|
存储 消息中间件 大数据
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
182 1
|
存储 消息中间件 大数据
大数据-68 Kafka 高级特性 物理存储 日志存储概述
大数据-68 Kafka 高级特性 物理存储 日志存储概述
119 1
|
存储 监控 固态存储
如何监控和优化 WAL 日志文件的存储空间使用?
如何监控和优化 WAL 日志文件的存储空间使用?
362 1
|
存储 SQL 专有云
支持配置审计日志的存储数据库
审计日志作为企业监管平台的重要依据,同时也是“等保三级”认证的必要考察项之一。Dataphin V4.3版本支持设置平台日志的存储数据源,帮助用户快速获取审计日志,同时介绍了不同部署模式的Dataphin如何查看审计日志的方法。
338 5