`
ihuangweiwei
  • 浏览: 266708 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Nginx日志切割脚本

阅读更多

1.完整脚本

 

hww@tts-0001:~$ mkdir -p bin/
hww@tts-0001:~$ cd bin/
hww@tts-0001:~/bin$ sudo vim cut_nginx.sh

 

    脚本:

#!/bin/sh 

mv /data/logs/nginx/hww_log.log /data/logs/nginx/hww_log_$(date -d "0 day" +"%Y%m%d").log
mv /data/logs/nginx/hww_error.log /data/logs/nginx/hww_error_$(date -d "0 day" +"%Y%m%d").log 

kill -USR1 $(cat /var/run/nginx.pid) 

bzip2 -z /data/logs/nginx/hww_log_$(date -d "0 day" +"%Y%m%d").log
bzip2 -z /data/logs/nginx/hww_error_$(date -d "0 day" +"%Y%m%d").log 

rm -f /data/logs/nginx/hww_log_$(date -d "-30 day" +"%Y%m%d").log.bz2
rm -f /data/logs/nginx/hww_error_$(date -d "-30 day" +"%Y%m%d").log.bz2 

exit 0 
 

 

2.简化脚本

#!/bin/sh

hww_log=/data/logs/nginx/hww_log.log
hww_error=/data/logs/nginx/hww_error.log

dd_0=$(date -d "0 day" +"%Y-%m-%d")
dd_30=$(date -d "-30 day" +"%Y-%m-%d")

mv $hww_log $hww_log.$dd_0
mv $hww_error $hww_error.$dd_0

kill -USR1 $(cat /var/run/nginx.pid)

bzip2 -z $hww_log.$dd_0
bzip2 -z $hww_error.$dd_0

rm -f $hww_log.$dd_30.bz2
rm -f $hww_error.$dd_30.bz2

exit 0

 

该脚本把错误日志也打包了,同时自动删除30天前的打包日志

 

别忘了赋权限  

sudo chmod 755 cut_nginx.sh
 

 

3.定时执行命令

crontab命令

crontab命令的功能是在一定的时间间隔调度一些命令的执行 

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 
crontab -l //列出某个用户cron服务的详细内容 
crontab -r //删除某个用户的cron服务 
crontab -e //编辑某个用户的cron服务 

 定时执行

hww@tts-0001:~/bin$ sudo crontab -e


# 
# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command
0 0 * * * /home/hww/bin/cut_nginx.sh 








 

 

 

注:1.分 时 日 月 周 sh脚本路径
   2.上面的含义是每天晚上0点执行cut_nginx.sh脚本 
 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割,压缩包包含shell切割脚本和使用说明,该脚本适合nginx同时也适合其他类似服务的日志切割,只要简单修改shell脚本即可,灵活多变,实用。

    nginx日志切割脚本分享

    ### Nginx日志切割脚本详解 #### 引言 在运维工作中,Nginx作为一款高性能的HTTP服务器及反向代理服务器,在处理大量访问请求时会产生庞大的日志文件。这些日志文件不仅占用大量的磁盘空间,还会影响系统的性能,...

    nginx日志自动定时切割及清除脚本

    nginx日志自动定时切割及清除脚本

    Crontab+Shell做Nginx日志切割脚本实例代码

    【Crontab+Shell做Nginx日志切割脚本】是Linux系统中常见的日志管理方式,主要用于解决日志文件过大导致的问题。Nginx作为一款广泛应用的Web服务器,其产生的日志文件可能会随着时间积累变得非常庞大,占用大量磁盘...

    Windows系统nginx日志分割批处理脚本

    : 为限制 Nginx日志文件大小增加,文件过大,导致无法收缩日志,在配置好的nginx的安装目录下,可以采用批处理文件对日志,根据实际需要的时间进行自动切割,本脚本以天为单位进行保存。对于日志备份功能,因存储...

    Nginx日志切割清理脚本

    利用crontab定时机制触发shell脚本,自动切割nginx的日志文件,并实现自动清理,可直接在服务器上上传使用

    Linux系统下nginx日志每天定时切割的脚本写法

    1、添加nginx日志切割脚本 cd /etc/logrotate.d #进入目录 vi /etc/logrotate.d/nginx #编辑脚本 /usr/local/nginx/logs/*.log /usr/local/nginx/logs/nginx_logs/*.log{ missingok dateext notifem

    shell脚本实现nginx日志分割

    本解本实现了使用shell脚本实现nginx日志分割,大家如果没资源分下载,可以转至:https://mp.csdn.net/mdeditor/85233117# 去查看源代码。谢谢大家

    windows nginx 按天切割日志

    windows nginx 按天切割日志

    nginx日志切割.rar

    【Nginx日志切割详解】 在Web服务器的日常运维中,日志管理是一项至关重要的任务。Nginx作为一款高性能的HTTP和反向代理服务器,其日志记录功能可以帮助我们监控服务器状态、分析访问流量、排查问题等。然而,随着...

    nginx安装和nginx日志切割

    1. **创建日志切割脚本**: 创建一个名为`logrotate.conf`的文件,例如在`/etc/logrotate.d/nginx`目录下,内容如下: ``` /var/log/nginx/access.log { daily rotate 7 compress delaycompress missingok ...

    nginx日志切割shell脚本

    在给定的脚本中,使用bash shell编写了一个简单的日志切割脚本,它通过命令行工具如`mv`(移动文件)和`date`(处理日期)来实现日志的重命名和时间戳的添加。 4. **USR1信号**:在Nginx中,向主进程发送USR1信号...

    linux Nginx 日志脚本

    Nginx日志切割脚本主要用于定期处理Nginx产生的日志文件,包括旧日志文件的归档压缩、新日志文件的创建等操作,以减少日志文件占用的空间,同时方便后续的日志分析。 **脚本内容分析:** 1. **变量定义:** - `...

    详解Nginx日志配置及日志切割

    本文将对Nginx日志配置及日志切割进行详细介绍。 首先,Nginx提供了多种日志配置指令,这些指令可以定义日志记录的行为和格式。以下是两个核心的指令: 1. access_log:此指令用于开启或关闭访问日志,并设置日志...

    nginx日志文件切割

    以下是一个基本的日志切割脚本示例: ```bash #!/bin/bash # 定义日志文件路径 ACCESS_LOG_PATH=/var/log/nginx/access.log ERROR_LOG_PATH=/var/log/nginx/error.log # 定义日志备份目录 LOG_BACKUP_DIR=/var/...

    nginx日志按时间切割.zip

    总之,`nginx日志按时间切割.zip`提供的批处理脚本为Windows环境下Nginx日志管理提供了一种基础解决方案。通过定期运行此脚本,可以有效地管理和跟踪Nginx服务器的日志信息,这对于日常运维和问题排查具有重要意义。...

    Nginx自动日志切割

    日志切割脚本可以根据实际需求进行调整,例如定时执行(如通过cron job),或者增加压缩已切割的日志文件等功能。同时,为了保证服务的稳定性和安全性,日志目录的权限应适当地设定,一般建议Nginx运行用户对日志...

Global site tag (gtag.js) - Google Analytics