zoukankan      html  css  js  c++  java
  • Linux下配置Nginx按天切割日志

    Nginx由于轻巧和高效的设计风格,去掉了一些额外的功能,所以它不像apache那样有自动切割日志。

    建立一个脚本文件,并保证这个文件有可执行的权限:
    1、建立一个文件/root/log.nginx.sh(这里只是作为演示,实际上这个脚本文件你可以随意的放在哪个目录和给它取一个你喜欢的名字),在文件里面粘贴如下内容:

    #!/bin/bash
    declare logs_path="/var/log/nginx";
    declare need_delete_path=${logs_path}/$(date -d "7 days ago" "+%Y_%m_%d");
    declare yestoday_log_path=${logs_path}/$(date -d "yesterday" "+%Y_%m_%d");
    rm -rf ${need_delete_path}
    rm -rf ${yestoday_log_path}
    mv ${logs_path}/today ${yestoday_log_path}
    mkdir -p ${logs_path}/today
    /etc/init.d/nginx reload

    2、赋予这个文件可执行权限:

    chmod 777 /root/log.nginx.sh
    3、将这个脚本加入到crontab中去,每天0点0分执行一次:

    //打开定时任务

    crontab -e

    //追加定时任务

    0 0 * * * /root/log.nginx.sh

    //查看定时任务,就会看到你添加的内容了

    crontab -l

    上面这个脚本的作用就是每天凌晨0点0分的时候创建一个以昨天的日期命名的文件夹,然后把/var/log/nginx/today/这个文件夹里面的日志文件全部移动到新建的文件夹里面去。today这个文件夹每天凌晨都会被清空一次,这样就实现了nginx按天切割日志的功能了。

    脚本除了清空today文件夹外还会删除7天以前的日志文件,只保留最近7天的日志。

  • 相关阅读:
    strcpy
    Apple Swift中英文开发资源集锦[apple swift resources]
    c/c++指针总结[pointer summary]
    TestPointer
    66. 有序数组构造二叉搜索树[array to binary search tree]
    HDU 2112 HDU Today
    HDU 3790 最短路径问题
    HDU 2544 最短路
    模拟赛 Problem 3 经营与开发(exploit.cpp/c/pas)
    模拟赛 Problem 2 不等数列(num.cpp/c/pas)
  • 原文地址:https://www.cnblogs.com/xxoome/p/5949332.html
Copyright © 2011-2022 走看看