日志滚动与cron调度
日志滚动与cron调度
1、日志滚动
nginx默认日志不能进行滚动,始终写入到一个文件中,即access.log。编写日志滚动的shell脚本,并使用linux的cron定时调度周期性进行日志文件滚动。
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
修改权限,设置执行权
$>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 编写调度脚本
切换到root账户,修改/etc/crontab调度文件
$>su root
$>nano /etc/crontab
输入如下内容内容如下:
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调度的更多相关文章
- Nginx插件之openresty反向代理和日志滚动配置案例
Nginx插件之openresty反向代理和日志滚动配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.openresty介绍 1>.Nginx介绍 Nginx是一款 ...
- log4go的日志滚动处理——适应生产环境的需要
日志处理有三类使用环境,开发环境DE,测试环境TE,生产环境PE. 前两类可以看成是一类,重要的是屏幕显示--termlog.生产环境中主要用的是socklog 和 filelog,即网络传输日志和文 ...
- 使用Linux自带日志滚动工具logrotate滚动redis日志示例
截至到redis-5.0版本,redis仍然不会自动滚动日志文件,如果不处理则日志文件日积月累越来越大,最终将导致磁盘满告警: # ls -lh total 12G -rw-r--r-- 1 redi ...
- log4go的日志滚动处理——生产环境的适配
日志处理有三类使用环境,开发环境DE,测试环境TE,生产环境PE. 前两类可以看成是一类,重要的是屏幕显示--termlog.生产环境中主要用的是socklog 和 filelog,即网络传输日志和文 ...
- log4j笔记:升级2.X版本的日志滚动问题
因为slf4j依赖的log4j在流量大的时候总遇到多线程引起的死锁问题,升级到log4j2.x版本.原来的log4j.properties配置文件已经不被log4j2支持了,需要改写为log4j2.x ...
- (转)python中用logging实现日志滚动和过期日志删除
转自:https://blog.csdn.net/ashi198866/article/details/46725813 logging库提供了两个可以用于日志滚动的class(可以参考https:/ ...
- muduo网络库源码学习————日志滚动
muduo库里面的实现日志滚动有两种条件,一种是日志文件大小达到预设值,另一种是时间到达超过当天.滚动日志类的文件是LogFile.cc ,LogFile.h 代码如下: LogFile.cc #in ...
- Quartz公共类,log4net 日志分目录 ,调度任务。
版本:Quartz 2.5 ,log4net 2.0.8 QuartzHelper namespace Job.Common { public class QuartzHelper { private ...
- Python Logging模块 输出日志颜色、过期清理和日志滚动备份
# coding:utf-8 import logging from logging.handlers import RotatingFileHandler # 按文件大小滚动备份 import co ...
随机推荐
- 杭电ACM hdu 1398 Square Coins
Problem Description People in Silverland use square coins. Not only they have square shapes but also ...
- mysql 中decimal中去掉后面多余的0
#去除Decimal后面多余的0 #处理前SELECT '0.12000','1.203010','-0.20' #处理后SELECT 0+CAST('0.12000' AS CHAR),0+CAST ...
- my22_mydumper 使用总结
1. mydumper 的安装依赖于mysql软件,要使用mydumper 则服务器上必须先安装mysql 2. mydumper 安装时会使用mysql软件的动态链接库文件,如果服务器上mysql版 ...
- linux及hadoop基本操作
cd 命令:切换目录 () 切换到目录“/usr/local” ) 切换到当前目录的上一级目录 ) 切换到当前登录 Linux 系统的用户的自己的主文件夹 ls 命令:查看文件与目录 ...
- JVM---概述
1.JVM架构 1.1 JVM组成: ClassLoader类加载器 : 将class文件加载到JVM内存中: Runtime Data Area运行时数据区域 : java程序运行时的内存区域: ...
- Android官方架构组件介绍之应用(四)
讲一个项目常见的功能,友盟统计功能 例如一个项目有很多多modlue,每个里面modlue都有Activity,Activity需要友盟统一,Fragment也需要友盟统计.一般做法就是继承一个Bas ...
- python文件操作和集合(三)
对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以 ...
- Flutter安装教程
前言 自Flutter beta版发布, 经过几个月的发展, 它已成为了github社区开源项目活跃度的Top50.加上近日Google的Flutter Live 2018全球同步直播宣传,与 Flu ...
- SuperSpider(简书爬虫JAVA版)
* 建站数据SuperSpider(简书)* 本项目目的:* 为练习web开发提供相关的数据:* 主要数据包括:* 简书热门专题模块信息.对应模块下的热门文章.* 文章的详细信息.作者信息.* 评论区 ...
- IPM的修炼之路
总结了一下最近一年半来看到的产品经理方面的素养资料. 产品经理: 必备素质:市场洞察,抽象概括,创新想象,心思细腻,热爱产品,具备一定的企业家精神等. 是通才:市场,项目,设计,管理,用户,统计,心理 ...