Nginx 脚本自动进行日志切割

随着网站的运行时间越来越长,日志文件也会随之越来越大
需要对Nginx日志进行切割,下面是每周六晚上自动进行日志切割的shell脚本

脚本如下:

[[email protected] ~]# vim /usr/local/nginx/logbak.sh       #新建脚本名为logbak.sh
#!/bin/bash                    #解释器
date=`date +%Y%m%d`                 #自定义date变量,值等于当前日期
logpath=/usr/local/nginx/logs             #自定义logpath变量,值等于Nginx日志所在路径
mv $logpath/access.log $logpath/access-$date.log    #把当前access日志重命名
mv $logpath/error.log $logpath/error-$date.log      #把当前error日志重命名
kill -USR1 $(cat $logpath/nginx.pid)            #向nginx主进程发送USR1信号,重新打开生成日志文件,如不发送USR1,Nginx将会继续写入改名之后的日志

接下来把写好的脚本写入计划任务,自动执行。

[[email protected] ~]# crontab -e              #打开计划任务表
01 02 * * 6 /usr/local/nginx/logbak.sh        #每周六凌晨2:01运行脚本进行日志切割

原文地址:https://www.cnblogs.com/jrjs/p/11486504.html

时间: 2024-10-02 20:47:36

Nginx 脚本自动进行日志切割的相关文章

【09】Nginx:静态压缩 / 日志切割 / 防盗链 /恶意解析/ 跨域

写在前面的话 上一节我们谈了关于 nginx 服务器的一些简单的安全优化问题,能够帮助我们解决一部分线上服务存在的安全隐患.但是想要提升用户体验这是原因不够的,我们还需要从服务的优化方面入手. 本节更多的还是偏理论的东西,会给出相应的配置.可能有些就无法立即做测试. 访问优化:静态压缩 我们知道一个网站总会有一些 CSS/JS 等静态文件需要加载,如果用户每次请求都需要去服务器下载一遍,比如 Jquery 这种根本不会变的.明显会造成带宽的浪费.同时由于用户可能本身网速还不好,就容易给用户带来不

nginx学习(六):日志切割

现有的日志都会存在 access.log 文件中,但是随着时间的推移,这个文件的内容会越来越多,体积会越来越大,不便于运维人员查看,所以我们可以通过把这个大的日志文件切割为多份不同的小文件作为日志,切割规则可以以天为单位,如果每天有几百G或者几个T的日志的话,则可以按需以每半天或者每小时对日志切割一下. 手动切割 1.创建一个shell可执行文件:cut_my_log.sh,内容为: #!/bin/bash LOG_PATH="/var/log/nginx/" RECORD_TIME=

shell脚本:nginx访问日志切割与打包上传

脚本功能: 日志切割类脚本,包含:nginx的访问日志.网关设备.AC设备.认证信息等等日志,都通过ftp上传到相应的服务器进行保存. --------------- #!/bin/bash # Cut and upload nginxlog # by colin # revision on 2016-02-22 ######################################## # 功能说明:该脚本运用于切割与上传nginxlog # # 更新说明: # ############

shell脚本:日志切割与上传

脚本说明: 日志切割与上传类脚本的功能:脚本自身的运行日志记录与清理.日志切割与打包.ftp上传.传送失败自动重传.断电自动补传.清理超期旧打包等 -------------------- #!/bin/bash # Cut and upload aclog log # by colin # revision on 2016-06-15 ######################################## # 功能说明:该脚本运用于上传aclog日志 # # 使用说明: #+ ./a

Nginx配置:访问日志,日志切割,静态文件不记录日志和过期时间

一.访问日志 1.查看Nginx日志格式 [[email protected] ~]# grep -A2 log_format /usr/local/nginx/conf/nginx.conf log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' ' $host "$request_uri" $status' ' "$http_referer" "$htt

91.Nginx配置:访问日志,日志切割,静态文件不记录日志和过期时间

一.访问日志 1.查看Nginx日志格式 [[email protected] ~]# grep -A2 log_format /usr/local/nginx/conf/nginx.conflog_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'' $host "$request_uri" $status'' "$http_referer" "$http_u

Linux10.7 Nginx日志切割

Nginx没有自带日志切割工具,apache自带日志切割工具.借助系统自助切割工具或者shell脚本. 自定义shell 脚本 vim /usr/local/sbin/nginx_log_rotate.sh//写入如下内容 #! /bin/bash ## 假设nginx的日志存放路径为/data/logs/ d=`date -d "-1 day" +%Y%m%d` logdir="/data/logs" nginx_pid="/usr/local/ngin

日志切割: logrotate、python、shell实现

对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮子,这真是让人沮丧啊!就好比明明身边躺着现成的性感美女,大家却忙着自娱自乐,罪过!logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用.可以节省磁盘空间.下面就对logrotate日志轮转操作做一梳理记录: 1.  配置文件介绍Lin

tomcat 日志切割

一.日志切割介绍 tomcat日志一般产生的是比较大的,catalina.out文件一般占用比较大,如果不做切割的话,很容易占满存储磁盘,一般需要做切割,切割的方法有多种,现介绍一种系统自动的日志切割的工具:logrotate软件,一般是系统自动的,非常好用. 二.使用logrotate分割tomcat日志 logrotate是个强大的系统软件,它对日志有着一套完整的操作模式,譬如:转存.邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作