zoukankan      html  css  js  c++  java
  • 日志滚动与cron调度

    日志滚动与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				#查看开启自启列表
    
  • 相关阅读:
    什么是函数式编程
    红包算法
    laravel中查看执行的SQL语句
    身份证号信息后台匹配
    在函数内部访问外部的变量
    设计模式-观察者模式
    laravel查询构造器操作数据库
    linux根目录文件夹的作用
    关于laravel连接数据库报错
    设定起始日期,遍历到今天的日期
  • 原文地址:https://www.cnblogs.com/xupccc/p/9544650.html
Copyright © 2011-2022 走看看