Linux下Nginx日志每日分割

文章介绍了如何通过编写一个名为cut_my_log.sh的Shell脚本来分割Nginx的日志文件,然后设置定时任务(cron)在每天凌晨1点执行该脚本,实现日志的自动滚动。脚本包括将日志重命名以及向Nginx主进程发送信号以重新打开日志文件。此外,还列出了常用的cron服务管理命令。
摘要由CSDN通过智能技术生成

总体思路分两步:1、通过脚本文件分割日志;2、定时执行分割日志的脚本文件。

第一步:准备分割日志脚本,如下:

  1. 创建一个名为cut_my_log.sh的shell可执行文件,内容如下:
    #!/bin/bash
    LOG_PATH="/var/log/nginx/"    #你存放日志的位置
    RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d) #日志分割的时间,按天
    PID=/var/run/nginx/nginx.pid
    mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
    mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
    
    #向Nginx主进程发送信号,用于重新打开日志文件
    kill -USR1 `cat $PID`
    
  2. 为cut_my_log.sh添加可执行权限:
    chmod +x cut_my_log.sh
  3. 测试日志切割后的结果
    ./cut_my_log.sh

第二步:定时执行脚本

  1. 安装定时任务

    yum install crontabs
  2. crontab -e编辑并且添加一行新的任务(每日凌晨1点执行)
    0 1 * * * /usr/local/nginx/sbin/cut_my_log.sh
  3. 重启定时任务
    service crond restart

附录:常用的定时任务命令

service crond start         // 启动服务
service crond stop            // 关闭服务
service crond restart        // 重启服务
service crond reload        // 重新载入配置
crontab -e                    // 编辑任务
crontab -l                    // 查看任务列表


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值