日志滚动与cron调度

1、日志滚动

nginx默认日志不能进行滚动,始终写入到一个文件中,即access.log。编写日志滚动的shell脚本,并使用linux的cron定时调度周期性进行日志文件滚动。

1.1 编写滚动脚本

  1. 创建roll_log.sh脚本文件

    以root身份在/usr/local/bin/创建umeng_roll_log.sh文件

    #切换到root身份
    $>su root #进入指定目录,该目录是path搜索目录,任何位置都可以直接调用脚本
    $>cd /usr/local/bin #创建脚本文件
    $>nano umeng_roll_log.sh

    文件内容如下:

    #!/bin/bash
    dateStr=`date '+%Y-%m-%d-%H-%M'`
    mv /usr/local/openresty/nginx/logs/access.log /usr/local/openresty/nginx/logs/access.log.${dateStr}
    touch access.log
    openresty -s reload
  2. 修改权限,设置执行权

    $>su root
    $>chmod +x/usr/local/bin/umeng_roll_log.sh

1.2 执行脚本,查看滚动效果

$>sudo /user/local/bin/umeng_roll_log.sh

2、使用linux crontab调度脚本

2.1 编写调度脚本

  1. 切换到root账户,修改/etc/crontab调度文件

    $>su root
    $>nano /etc/crontab
  2. 输入如下内容内容如下:

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root # For details see man 4 crontabs # Example of job definition:
    # .---------------- minute (0 - 59)
    # | .------------- hour (0 - 23)
    # | | .---------- day of month (1 - 31)
    # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
    # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # | | | | |
    # * * * * * user-name command to be executed
    * * * * * root source /etc/profile;/usr/local/openresty/nginx/logs/roll_log.sh

2.2 启动调度服务

#启动linux调度服务(d表示daemon守护进程的意思,例如firewalld)
$>sudo service crond start

2.3 服务相关命令

#服务控制
$>sudo service crond stop #停止服务
$>sudo service crond restart #重启crond
$>sudo service crond status #查看服务状态 #开机自启
$>sudo chkconfig crond on #启用开机自启
$>sudo chkconfig crond on #禁用开机自启
$>sudo chkconfig #查看开启自启列表

日志滚动与cron调度的更多相关文章

  1. Nginx插件之openresty反向代理和日志滚动配置案例

    Nginx插件之openresty反向代理和日志滚动配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.openresty介绍 1>.Nginx介绍 Nginx是一款 ...

  2. log4go的日志滚动处理——适应生产环境的需要

    日志处理有三类使用环境,开发环境DE,测试环境TE,生产环境PE. 前两类可以看成是一类,重要的是屏幕显示--termlog.生产环境中主要用的是socklog 和 filelog,即网络传输日志和文 ...

  3. 使用Linux自带日志滚动工具logrotate滚动redis日志示例

    截至到redis-5.0版本,redis仍然不会自动滚动日志文件,如果不处理则日志文件日积月累越来越大,最终将导致磁盘满告警: # ls -lh total 12G -rw-r--r-- 1 redi ...

  4. log4go的日志滚动处理——生产环境的适配

    日志处理有三类使用环境,开发环境DE,测试环境TE,生产环境PE. 前两类可以看成是一类,重要的是屏幕显示--termlog.生产环境中主要用的是socklog 和 filelog,即网络传输日志和文 ...

  5. log4j笔记:升级2.X版本的日志滚动问题

    因为slf4j依赖的log4j在流量大的时候总遇到多线程引起的死锁问题,升级到log4j2.x版本.原来的log4j.properties配置文件已经不被log4j2支持了,需要改写为log4j2.x ...

  6. (转)python中用logging实现日志滚动和过期日志删除

    转自:https://blog.csdn.net/ashi198866/article/details/46725813 logging库提供了两个可以用于日志滚动的class(可以参考https:/ ...

  7. muduo网络库源码学习————日志滚动

    muduo库里面的实现日志滚动有两种条件,一种是日志文件大小达到预设值,另一种是时间到达超过当天.滚动日志类的文件是LogFile.cc ,LogFile.h 代码如下: LogFile.cc #in ...

  8. Quartz公共类,log4net 日志分目录 ,调度任务。

    版本:Quartz 2.5 ,log4net 2.0.8 QuartzHelper namespace Job.Common { public class QuartzHelper { private ...

  9. Python Logging模块 输出日志颜色、过期清理和日志滚动备份

    # coding:utf-8 import logging from logging.handlers import RotatingFileHandler # 按文件大小滚动备份 import co ...

随机推荐

  1. List<T> 循环修改其中的数据

    List<MyObject> myObject = new List<MyObject>(); myObject.ForEach(w => { w.字段1=123: if ...

  2. 去除IDEA报黄色/灰色的重复代码的下划波浪线

    解决方法: File---->Settings

  3. 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_运行时解析类型引用

    public sealed class Program{ public static void Main() { System.Console.WriteLine("Hi"); } ...

  4. HDU2665(可持久化线段树板子)

    1.题意有坑,实际要求第k小. 2.没学过动态开点也没学过主席树,看一下博主思路然后妄想自己实现的后果就是拿命去调bug. const int maxn = 1e5 + 5; int test, n, ...

  5. HDU6444(子段和、分情况比较)

    要点 不难想到gcd一下然后枚举每个开头走一圈,并记录一下数值. 最终答案是分情况的:1.能走几圈走几圈然后加上最后剩余的最大子段和:2.也可能是最后一圈后面的拖后腿了,所以最后一圈没走完就停,即长度 ...

  6. nginx与 Keepalived高可用

    1.1 keepalived软件能干什么? Keepalived软件起初是专为LVS负载均衡软件设计的, 用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能 K ...

  7. 协议 + socket import 和 form xx import *的区别 028

    一 . 网络通信协议(了解) 1 . osi 七层协议 (最好记住 面试会问) 应表会传网数物(应用层 表示层 会话层 传输层 网络层 数据链路层 物理层) 2 .tcp/ip五层 或 tcp/ip四 ...

  8. 第八章:BOM

    /* * bom: * 提供了浏览器接口; * w3c为了把javascript最基本的只是标准化已经将bom的主要方面纳入html5规范*/ console.log(window); !(funct ...

  9. 【ACM】Knapsack without repetition - 01背包问题

    无界背包中的状态及状态方程已经不适用于01背包问题,那么我们来比较这两个问题的不同之处,无界背包问题中同一物品可以使用多次,而01背包问题中一个背包仅可使用一次,区别就在这里.我们将 K(ω)改为 K ...

  10. Java程序员进阶架构师推荐阅读书籍

    [IT168 技术]作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些 ...