tomcat,nginx日志定时清理
2019-08-29 09:01:14来源:博客园 阅读 ()
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日志清理脚本。
1 #!/bin/sh 2 3 #日志文件所在目录 4 #path=/usr/local/tomcat/apache-tomcat-8.5.32/logs 5 path=/usr/local/tomcat/apache-tomcat-8.5.32/logs 6 7 cd ${path} 8 9 #catalina.out日志备份 10 #获取前7天的日期 11 bak_date=`date +%Y-%m-%d -d "7 days ago"` 12 #备份catalina.out日志,后面添加日期 13 #cp catalina.out catalina.out.${bak_date}.log 14 #清空catalina.out日志文件 15 echo > catalina.out 16 17 #7天之前的日志文件删除 18 #获取7天之前的日期 19 del_date=`date +%Y-%m-%d -d "7 days ago"` 20 #获取文件名中的日期字符串,然后对此时间进行相应的操作,localhost_access_log的后缀名一般为txt文件,这里包括txt文件 21 for n in `ls *.log *.txt -1`;do 22 m=`echo $n | awk -F. '{print $(NF-1)}'` 23 m=`echo ${m:0-10}` 24 if [ ! $m ]; then 25 echo "IS NULL" 26 continue 27 fi 28 if [[ $m < $del_date || $m = $del_date ]];then 29 echo file $n will be deleted. 30 rm -rf $n 31 fi 32 doneTomcat清理脚本
3. Nginx日志切割,清理脚本
Nginx不同Tomcat日志,不会定时切割日志,所有的日志都会放在access.log和error.log中。在排除问题时,会很不方便。下面贴一个自用的Nginx日志切割清理脚本。
1 #!/bin/bash 2 3 #nginx的错误日志备份 4 cp /usr/local/nginx/logs/error.log /usr/local/nginx/logs/error-$(date -d "yesterday" +"%Y-%m-%d").log 5 cat /dev/null > /usr/local/nginx/logs/error.log 6 7 #将nginx的访问日志备份 8 cp /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access-$(date -d "yesterday" +"%Y-%m-%d").log 9 cat /dev/null > /usr/local/nginx/logs/access.log 10 11 #清楚3天前的日志备份文件 12 find /usr/local/nginx/logs/ -mtime +3 -type f -name \*.log | xargs rm -fNginx切割,清理日志
4. Crontab定时任务编写
Crontab语法详细介绍请参考百度--
#进入crontab编写界面 crontab -e #编写crontab执行语句,此处以nginx清理脚本为例 #/home/crontab/clean_nginx_log.sh是我脚本位置,替换下即可 1 0 * * * /bin/sh /home/crontab/clean_nginx_logs.sh >> /opt/cut_nginx_log.log 2>&1 #保存退出,启动 :wq service crond startCrontab编写
原文链接:https://www.cnblogs.com/xiaobingblog/p/11419243.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- java环境教程:Tomcat下载,安装,设置为Windows服务,启动 2020-06-09
- 来看看阿里架构师Java 代码打日志姿势!你也是这样写的吗 2020-06-08
- Idea实现SpringBoot外置Tomcat的Web项目热部署(包含静态文 2020-06-04
- 初识Nginx——前后端发布 2020-06-03
- 日志JCL初探 2020-05-30
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash