每天自动分割Nginx日志文件

资料来源:https://www.centos.bz/2011/03/split-nginx-logfile-eveyday/

Nginx产生的日志都是存在一个文件,随着网站运行时间越长,日志文件的大小也在不断增长,这对我们想分析当天日志非常的不方便,所以需要每天把日志文件分割出来,并以时间命名。

创建日志分割脚本

1、登录SSH,创建cut_logs.sh文件

vi /root/cut_logs.sh

2、粘贴下面代码到cut_logs.sh,并保存

#!/bin/bash
# The Nginx logs path
logs_path="/home/wwwlogs/"
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}www.juzihc.com.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/juzihc_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

3、添加cut_logs.sh执行权限

chmod +x /root/cut_logs.sh

设置cut_logs.sh启动时间

执行命令crontab -e进入编辑状态
添加如下代码,每天0点01分启动。

01 00 * * * /root/cut_logs.sh

这样每天定时分割日志文件就设置成功了。当然如果你担心日志文件占太多空间,还可以执行压缩tar,并设置删除多少天前的日志文件。

更多相关运维资料参考:

https://www.centos.bz/

如:Zabbix监控Memcached PHP-FPM Tomcat Nginx MySQL 网站日志

时间: 2024-10-10 23:09:17

每天自动分割Nginx日志文件的相关文章

Goaccess自动分割nginx日志

GoAccess 是一款开源的网站日志实时分析工具.GoAccess 的工作方式很容易理解,就是读取和解析 Apache/Nginx/Lighttpd 的访问日志文件 access log,然后以更友好的方式把统计信息显示出来.统计的内容包括:访问概况.动态页面请求.静态页面请求(如图片.样式表.脚本等).访客排名,访客使用的操作系统,访客使用的浏览器,来路域名,404 错误,搜索爬虫,搜索关键词等等. 安装组件yum -y install glib2 glib2-devel ncurses n

大数据技术之_18_大数据离线平台_02_Nginx+Mysql+数据收集+Web 工程 JS/JAVA SDK 讲解+Flume 故障后-如何手动上传 Nginx 日志文件至 HDFS 上

十一.Nginx11.1.介绍11.2.常见其他 Web 服务器11.3.版本11.4.Nginx 安装11.5.目录结构11.6.操作命令十二.Mysql12.1.介绍12.2.关系型数据库(SQL)种类12.3.特征12.4.术语12.4.与非关系型数据库比较(Not Only SQL)12.4.1.种类12.4.2.特征12.4.3.总结十三.数据收集13.1.收集方式13.2.数据的事件类型13.2.1.Launch 事件13.2.2.PageView 事件13.3.Nginx 日志收集

Nginx 日志文件切割

Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量非常大,不便于管理.当然了,我们也不希望看到这么庞大的一个访问日志文件,那需要手动对这个文件进行切割. 在 Linux 平台上 Shell 脚本丰富,使用 Shell 脚本加 crontab 命令能非常方便地进行切割,但在 Windows 平台上就麻烦一些了,刚才弄了好长时间,就在这里记录整理一下.

使用logrotate管理nginx日志文件

本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日常工作之一.我们可以使用"logrotate"来管理linux日志文件,它可以实现日志的自动滚动,日志归档等功能.下面以nginx日志文件来讲解下logrotate的用法. 配置:1.在/etc/logrotate.d目录下创建一个nginx的配置文件"nginx"配置

nginx(四)初识nginx日志文件

nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,通俗的理解就是先用log_format来定义自己想用的日志格式,然后在用zccess_log定义虚拟主机时或全局日志时 在把定义的log_format 跟在后面: 1.log_format 格式 log_format       name( 格式名字)  格式样式(即想要得到什么样的日志内容) 默认的示例: log_format     m

使用作业自动清理数据库日志文件

原文:使用作业自动清理数据库日志文件 在上一篇文章中介绍了如何删除数据库日志文件,但是想想还是不是不方便需要手工操作,于是想结合作业实现自动清理日志文件,在清理日志文件时我加上了条件,当磁盘控空间不足多少M才会清理,下面介绍如何实现该功能.没有阅读上一篇文章的,可以通过传送门阅读(删除数据库日志文件的方法)! 阅读目录 SQL查询磁盘空间大小 存储过程添加作业 示例下载 回到顶部 SQL查询磁盘空间大小  采用内置的存储过程,即可查看各个磁盘可用空间 exec master..xp_fixedd

awstats分析nginx日志文件

awstats分析nginx日志文件,将生成的结果(为txt文件)保存在/var/www/awstats目录下,通过apche来 显示生成的结果. nginx的域名为:www.a.com:80 LogFile="/usr/local/mybin/nginx/logs/access.log"  #nginx的日志文件路径 DirData="/var/www/awstats/" #awstats生成结果的保存路径 SiteDomain="www.a.com&q

Linux下自动清除MySQL日志文件

MySQL运行过程中会生成大量的日志文件,占用不少空间,修改my.cnf文件配置bin-log过期时间,在Linux下自动清除MySQL日志文件 [mysqld] expire-logs-days=7 max-binlog-size=268435456

python分析apache和nginx日志文件输出访客ip列表的代码

把做工程过程中比较好的代码片段做个备份,下面资料是关于python分析apache和nginx日志文件输出访客ip列表的代码. ips = {} fh = open("/var/log/nginx/access.log", "r").readlines() for line in fh: ip = line.split(" ")[0] if 6 < len(ip) <=15: ips[ip] = ips.get(ip, 0) + 1