Nginx日志定时切割压缩

简介:

Nginx日志主要用于日后的审计和分析,对系统的安全有着重要的意义。但是随着时间的推移,日志文件会变得越来越大,这就需要对日志进行处理分割了。

第一步:建立脚本文件:

[root@localhosthome]# vim nginx_log.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash
#日志将要存放的路径
basepath_log= '/data/logs/nginx/'
savepath_log=$basepath_log/$( date  +%Y)/$( date  +%m)/
#nginx的日志路径
logs_path= '/usr/logs'
#创建目录
mkdir  -p $savepath_log/
#切换目录
cd  ${logs_path}
#遍历nginx的日志路径中所有的log文件
for  fileLog  in  ` ls  *.log`
do
     mv  ${fileLog} $savepath_log/${fileLog}_$( date  +%Y%m%d%H%M).log
done
#重启Nginx
kill  -USR1 $( cat  /var/run/nginx/nginx .pid)
#压缩Log文件
cd  ${savepath_log}
#遍历nginx的日志存放路径
for  fileLog  in  ` ls  *.log`
do
     tar  zcf ${fileLog}. tar .gz -C ${savepath_log} ${fileLog}
     rm  -rf ${fileLog}
done

标黄的需要根据实际情况修改。

第二步:为nginx_log.sh分配可以执行权限

[root@localhost home]# chmod 755 nginx_log.sh

第三步:设定定时器

[root@localhost init.d]# crontab -e

1
00 00 * * *  /home/nginx_log .sh  #执行文件存放路径,每天凌晨00:00执行

定期清除过期日志

   

1
00 00 * * *  find  /home/post  - type  f -mtime +90 - exec  rm  -f {} \;

注:保存方式与vim一致,输入:wq。90表示删除90天以前的过期文件。

第四部:重启定时器

[root@localhost init.d]# cd /etc/init.d

[root@localhost init.d]# ./crond restart

   

1
2
停止 crond:                                    [确定]
正在启动 crond:                                [确定]





本文转自 梦朝思夕 51CTO博客,原文链接:http://blog.51cto.com/qiangmzsx/1363848

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
947 90
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
1446 3
|
存储 消息中间件 大数据
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
334 1
|
监控 网络协议 应用服务中间件
高并发下Nginx压缩
【8月更文挑战第16天】gzip压缩在Nginx中可减少传输数据量,加快响应速度但消耗CPU。可在http、server及location级别配置。高并发时,启用Nginx状态监控以检查性能,配置`nginx.conf`添加`location /NginxStatus { stub_status on; access_log off; }`并重启Nginx
268 12
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
1105 6
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
359 4
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
1899 1
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
597 9