zoukankan      html  css  js  c++  java
  • Nginx日志切割

    Nginx日志按日期自动切割、压缩以及定期删除脚本

    一、脚本内容

    #!/bin/bash
    
    # 设置日志文件存放目录
    logs_path="/var/log/nginx/"
    backup_path="/var/log/nginx/logs/"
    # 设置pid文件
    pid_path="/var/run/nginx.pid"
    
    # 重命名日志文件
    mv ${logs_path}.access.log ${backup_path}.access_$(date -d "yesterday" +"%Y%m%d").log
    mv ${logs_path}.error.log ${backup_path}.error_$(date -d "yesterday" +"%Y%m%d").log
    
    # 向nginx主进程发信号重新打开日志
    kill -USR1 `cat ${pid_path}`
    
    # 压缩
    gzip ${backup_path}.access_$(date -d "yesterday" +"%Y%m%d").log
    gzip ${backup_path}.error_$(date -d "yesterday" +"%Y%m%d").log
    
    # 删除超过指定时间的日志文件,单位:天
    find  $backup_path -name "*.gz" -type f -mtime +30 -exec rm -rf {} ;
    

    二、使用方式

    1. 创建目录

    $ mkdir -p /var/log/nginx/logs
    

    2. 将脚本放在任意目录,修改脚本中的参数,主要就是修改相关文件位置

    3. 设置定时任务

    crontab -e
    # 选择编辑器,添加定时任务,脚本位置见第二步
    0 0 * * * /root/cut.sh
    

    4. 查看定时任务

    crontab -l
    
  • 相关阅读:
    JAVA Number类
    ConcurrentHashMap.Segment源码解析
    Java Concurrent包初探
    JAVA枚举类
    构造不可变类及其优点
    Unsafe类初探
    Paxos made simple 翻译尝试
    平行二叉堆和优先队列
    Android OpenCV学习
    Android-Java和HTML5交互-混合开发-优化
  • 原文地址:https://www.cnblogs.com/thisismartin/p/13214611.html
Copyright © 2011-2022 走看看