1. Crontab定时任务

   Crontab 基本语法

  1.   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./logs
  5. path=/usr/local/tomcat/apache-tomcat-8.5./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 -`;do
  22. m=`echo $n | awk -F. '{print $(NF-1)}'`
  23. m=`echo ${m:-}`
  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. done

Tomcat清理脚本

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 + -type f -name \*.log | xargs rm -f

Nginx切割,清理日志

4.   Crontab定时任务编写

  Crontab语法详细介绍请参考百度--

  1. #进入crontab编写界面
  2. crontab -e
  3.  
  4. #编写crontab执行语句,此处以nginx清理脚本为例
  5. #/home/crontab/clean_nginx_log.sh是我脚本位置,替换下即可
  6. * * * /bin/sh /home/crontab/clean_nginx_logs.sh >> /opt/cut_nginx_log.log >&
  7.  
  8. #保存退出,启动
  9. wq
  10. service crond start

Crontab编写

tomcat,nginx日志定时清理的更多相关文章

  1. Linux日志定时清理

    linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志 ...

  2. Linux后台日志定时清理脚本

    一. 简介 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否 ...

  3. Nginx日志定时切割脚本

    nginx的日志文件如果你不处理,将变得越来越大,我们可以写一个nginx日志切割脚本来自动切割日志文件. 第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志.在你未重新打开 ...

  4. Linux下添加shell脚本使得nginx日志每天定时切割压缩

    Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常 ...

  5. nginx日志相关运维操作记录

    在分析服务器运行情况和业务数据时,nginx日志是非常可靠的数据来源,而掌握常用的nginx日志分析命令的应用技巧则有着事半功倍的作用,可以快速进行定位和统计. 1)Nginx日志的标准格式(可参考: ...

  6. 针对Nginx日志的相关运维操作记录

    在分析服务器运行情况和业务数据时,nginx日志是非常可靠的数据来源,而掌握常用的nginx日志分析命令的应用技巧则有着事半功倍的作用,可以快速进行定位和统计. 1)Nginx日志的标准格式(可参考: ...

  7. nginx 日志切割(也适用于docker)

    =============================================== 2019/4/6_第2次修改                       ccb_warlock 201 ...

  8. tomcat日志文件定时清理备份

    以下脚本主要备份的日志文件为tomcat的catalina.out.localhost_access_log.yyyy-mm-dd.log日志和项目的日志文件,其中项目的日志文件格式为"pr ...

  9. nginx日志文件按天记录定时清理循环记录

    问题 nginx日志默认记录在一个文件access.log中,时间长了会导致日志文件特别大,甚至磁盘占满. 解决方案 使用以下方法,将access.log文件每天一个,然后清过15天以前的文件. 方法 ...

随机推荐

  1. 【简洁易懂】CF372C Watching Fireworks is Fun dp + 单调队列优化 dp优化 ACM codeforces

    题目大意 一条街道有$n$个区域. 从左到右编号为$1$到$n$. 相邻区域之间的距离为$1$. 在节日期间,有$m$次烟花要燃放. 第$i$次烟花燃放区域为$a_i$ ,幸福属性为$b_i$,时间为 ...

  2. java学习-NIO(一)简介

    I/O简介 在 Java 编程中,直到最近一直使用 流 的方式完成 I/O.所有 I/O 都被视为单个的字节的移动,通过一个称为 Stream 的对象一次移动一个字节.流 I/O 用于与外部世界接触. ...

  3. java并发编程(二十一)----(JUC集合)CopyOnWriteArraySet和ConcurrentSkipListSet介绍

    这一节我们来接着介绍JUC集合:CopyOnWriteArraySet和ConcurrentSkipListSet.从名字上来看我们知道CopyOnWriteArraySet与上一节讲到的CopyOn ...

  4. java并发编程(二十)----(JUC集合)CopyOnWriteArrayList介绍

    这一节开始我们正式来介绍JUC集合类.我们按照List.Set.Map.Queue的顺序来进行介绍.这一节我们来看一下CopyOnWriteArrayList. CopyOnWriteArrayLis ...

  5. 爬虫之爬取电影天堂(request)

    #需要通过代码打开https://www.dytt8.net/网站,拿到网站内容 from urllib.request import urlopen #拿到urlopen import re con ...

  6. hadoop2.7作业提交详解之文件分片

    在前面一篇文章中(hadoop2.7之作业提交详解(上))中涉及到文件的分片. JobSubmitter.submitJobInternal方法中调用了int maps = writeSplits(j ...

  7. 03 requests模块基础

    1. requests 模块简介 什么是requests 模块 requests模块是python中原生的基于网络请求的模块,功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的地位.requests ...

  8. react native https

    1. ios解决方案 1.1 Xcode打开工程,Libraries -> RCTNetworking -> RCTHTTPRequestHandler.mm -> #pragma ...

  9. 第一次appium自动化

    今天,自己独自做了一下app自动化,从搭环境到写好一个脚本花了很长时间.用的主要环境是python3.7+appium+sdk+夜神模拟器.appium环境搭建较于复杂,这里就不累述,参考百度教程. ...

  10. Shell-->变量的数值计算

    1.----------------------------->>>>>文件改名,使用命令mv 2.----------------------------->&g ...