tomcat,nginx日志定时清理
1. Crontab定时任务
Crontab 基本语法
- t1 t2 t3 t4 t5 program
- 其中 t1 是表示分钟,t2 表示小时,t3 表示一个月份中的第几日,t4 表示月份,t5 表示一个星期中的第几天。program 表示要执行的程序。
- 当 t1 为 * 时表示每分钟都要执行 program,t2 为 * 时表示每小时都要执行程序,其馀类推
- 当 t1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,t2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
- 当 t1 为 */n 时表示每 n 分钟个时间间隔执行一次,t2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
- 当 t1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,t2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
2. Tomcat日志清理脚本
Tomcat日志随着项目运行时长越来越多,访问量大时很可能撑满硬盘。下面贴一个自用的Tomcat日志清理脚本。
- #!/bin/sh
- #日志文件所在目录
- #path=/usr/local/tomcat/apache-tomcat-8.5./logs
- path=/usr/local/tomcat/apache-tomcat-8.5./logs
- cd ${path}
- #catalina.out日志备份
- #获取前7天的日期
- bak_date=`date +%Y-%m-%d -d "7 days ago"`
- #备份catalina.out日志,后面添加日期
- #cp catalina.out catalina.out.${bak_date}.log
- #清空catalina.out日志文件
- echo > catalina.out
- #7天之前的日志文件删除
- #获取7天之前的日期
- del_date=`date +%Y-%m-%d -d "7 days ago"`
- #获取文件名中的日期字符串,然后对此时间进行相应的操作,localhost_access_log的后缀名一般为txt文件,这里包括txt文件
- for n in `ls *.log *.txt -`;do
- m=`echo $n | awk -F. '{print $(NF-1)}'`
- m=`echo ${m:-}`
- if [ ! $m ]; then
- echo "IS NULL"
- continue
- fi
- if [[ $m < $del_date || $m = $del_date ]];then
- echo file $n will be deleted.
- rm -rf $n
- fi
- done
Tomcat清理脚本
3. Nginx日志切割,清理脚本
Nginx不同Tomcat日志,不会定时切割日志,所有的日志都会放在access.log和error.log中。在排除问题时,会很不方便。下面贴一个自用的Nginx日志切割清理脚本。
- #!/bin/bash
- #nginx的错误日志备份
- cp /usr/local/nginx/logs/error.log /usr/local/nginx/logs/error-$(date -d "yesterday" +"%Y-%m-%d").log
- cat /dev/null > /usr/local/nginx/logs/error.log
- #将nginx的访问日志备份
- cp /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access-$(date -d "yesterday" +"%Y-%m-%d").log
- cat /dev/null > /usr/local/nginx/logs/access.log
- #清楚3天前的日志备份文件
- find /usr/local/nginx/logs/ -mtime + -type f -name \*.log | xargs rm -f
Nginx切割,清理日志
4. Crontab定时任务编写
Crontab语法详细介绍请参考百度--
- #进入crontab编写界面
- crontab -e
- #编写crontab执行语句,此处以nginx清理脚本为例
- #/home/crontab/clean_nginx_log.sh是我脚本位置,替换下即可
- * * * /bin/sh /home/crontab/clean_nginx_logs.sh >> /opt/cut_nginx_log.log >&
- #保存退出,启动
- :wq
- service crond start
Crontab编写
tomcat,nginx日志定时清理的更多相关文章
- Linux日志定时清理
linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志 ...
- Linux后台日志定时清理脚本
一. 简介 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否 ...
- Nginx日志定时切割脚本
nginx的日志文件如果你不处理,将变得越来越大,我们可以写一个nginx日志切割脚本来自动切割日志文件. 第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志.在你未重新打开 ...
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常 ...
- nginx日志相关运维操作记录
在分析服务器运行情况和业务数据时,nginx日志是非常可靠的数据来源,而掌握常用的nginx日志分析命令的应用技巧则有着事半功倍的作用,可以快速进行定位和统计. 1)Nginx日志的标准格式(可参考: ...
- 针对Nginx日志的相关运维操作记录
在分析服务器运行情况和业务数据时,nginx日志是非常可靠的数据来源,而掌握常用的nginx日志分析命令的应用技巧则有着事半功倍的作用,可以快速进行定位和统计. 1)Nginx日志的标准格式(可参考: ...
- nginx 日志切割(也适用于docker)
=============================================== 2019/4/6_第2次修改 ccb_warlock 201 ...
- tomcat日志文件定时清理备份
以下脚本主要备份的日志文件为tomcat的catalina.out.localhost_access_log.yyyy-mm-dd.log日志和项目的日志文件,其中项目的日志文件格式为"pr ...
- nginx日志文件按天记录定时清理循环记录
问题 nginx日志默认记录在一个文件access.log中,时间长了会导致日志文件特别大,甚至磁盘占满. 解决方案 使用以下方法,将access.log文件每天一个,然后清过15天以前的文件. 方法 ...
随机推荐
- 【简洁易懂】CF372C Watching Fireworks is Fun dp + 单调队列优化 dp优化 ACM codeforces
题目大意 一条街道有$n$个区域. 从左到右编号为$1$到$n$. 相邻区域之间的距离为$1$. 在节日期间,有$m$次烟花要燃放. 第$i$次烟花燃放区域为$a_i$ ,幸福属性为$b_i$,时间为 ...
- java学习-NIO(一)简介
I/O简介 在 Java 编程中,直到最近一直使用 流 的方式完成 I/O.所有 I/O 都被视为单个的字节的移动,通过一个称为 Stream 的对象一次移动一个字节.流 I/O 用于与外部世界接触. ...
- java并发编程(二十一)----(JUC集合)CopyOnWriteArraySet和ConcurrentSkipListSet介绍
这一节我们来接着介绍JUC集合:CopyOnWriteArraySet和ConcurrentSkipListSet.从名字上来看我们知道CopyOnWriteArraySet与上一节讲到的CopyOn ...
- java并发编程(二十)----(JUC集合)CopyOnWriteArrayList介绍
这一节开始我们正式来介绍JUC集合类.我们按照List.Set.Map.Queue的顺序来进行介绍.这一节我们来看一下CopyOnWriteArrayList. CopyOnWriteArrayLis ...
- 爬虫之爬取电影天堂(request)
#需要通过代码打开https://www.dytt8.net/网站,拿到网站内容 from urllib.request import urlopen #拿到urlopen import re con ...
- hadoop2.7作业提交详解之文件分片
在前面一篇文章中(hadoop2.7之作业提交详解(上))中涉及到文件的分片. JobSubmitter.submitJobInternal方法中调用了int maps = writeSplits(j ...
- 03 requests模块基础
1. requests 模块简介 什么是requests 模块 requests模块是python中原生的基于网络请求的模块,功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的地位.requests ...
- react native https
1. ios解决方案 1.1 Xcode打开工程,Libraries -> RCTNetworking -> RCTHTTPRequestHandler.mm -> #pragma ...
- 第一次appium自动化
今天,自己独自做了一下app自动化,从搭环境到写好一个脚本花了很长时间.用的主要环境是python3.7+appium+sdk+夜神模拟器.appium环境搭建较于复杂,这里就不累述,参考百度教程. ...
- Shell-->变量的数值计算
1.----------------------------->>>>>文件改名,使用命令mv 2.----------------------------->&g ...