crontab定时删除tomcat日志

2023-10-27

这里写图片描述

一:前言

前面一篇文章讲了在linux环境中按日期切割tomcat生成的Catalina.out日志。虽然日志切割了,但是生成的日志文件还是会占用磁盘空间。积累一段时间还是会造成磁盘空间不够用的情况。
之前的做法是手动的删除tomcat日志,但是当磁盘空间满了,再去清理,已经对系统的使用造成了影响。于是,可以考虑试用定时任务删除N天前的日志文件,于是本文的主角crontab就成了首选。

二:crontab介绍

crontab介绍是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crontab进程,crontab进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# 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

前四行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户,第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。第六至九行表示的含义将在下个小节详细讲述。

用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致(root)。

crontab文件的含义:
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,
前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command
其中:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

三:定时删除Catalina日志

于是,我们想定时删除生成的Catalina.XX-XX-XX.out日志,只需要进行下面的操作
(1)查看所有的crontab任务
crontab -l
(2)编辑crontab任务
crontab -e
(3)凌晨0点1分执行定时任务,删除三天前的,格式为catalina.*.out的日志文件

1 0 * * * /bin/find /mnt/online/server/tomcat_manage/logs/ -mtime +3 -type f -name "catalina.*.out" -exec /bin/rm -rf {} \;

四.其他使用实例

实例1:每1分钟执行一次command
命令:
* * * * * command

实例2:每小时的第3和第15分钟执行
命令:
3,15 * * * * command

实例3:在上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * * command

实例4:每隔两天的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 /2 * command

实例5:每个星期一的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * 1 command

实例6:每晚的21:30重启smb
命令:
30 21 * * * /etc/init.d/smb restart

实例7:每月1、10、22日的4 : 45重启smb
命令:
45 4 1,10,22 * * /etc/init.d/smb restart

实例8:每周六、周日的1 : 10重启smb
命令:
10 1 * * 6,0 /etc/init.d/smb restart

实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb
命令:
0,30 18-23 * * * /etc/init.d/smb restart

实例10:每星期六的晚上11 : 00 pm重启smb
命令:
0 23 * * 6 /etc/init.d/smb restart

实例11:每一小时重启smb
命令:
* /1 * * /etc/init.d/smb restart

实例12:晚上11点到早上7点之间,每隔一小时重启smb
命令:
* 23-7/1 * * * /etc/init.d/smb restart

实例13:每月的4号与每周一到周三的11点重启smb
命令:
0 11 4 * mon-wed /etc/init.d/smb restart

实例14:一月一号的4点重启smb
命令:
0 4 1 jan * /etc/init.d/smb restart

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

crontab定时删除tomcat日志 的相关文章

随机推荐

  • linux常用压缩、解压缩文件或文件夹命令tar、zip

    前言 工作中 压缩 解压缩文件或文件夹是比较基本的操作了 利用 tar或zip 命令可以把一大堆的文件和目录打包成一个文件 这对于备份文件或是将几个文件组合成为一个文件进行网络传输是非常有用的 tar压缩文件 tar 选项 源文件或目录 选
  • 微信支付接入

    目 录 第1章 微信支付接入 2 第2章 微信小程序申请微信支付 3 2 1 申请微信支付 3 2 2 微信审核 3 2 3 账户参数说明 4 第3章 微信公众号申请微信支付 5 3 1 支付申请 5 3 2 提交资料 6 3 3 填写商户
  • 多益网络校招前端面经(2020.09.24)

    多益网络校招前端面经 2020 09 24 面试平台 QQ视频通话 时长 大约半小时 过程 自我介绍 项目问题 项目中遇到的问题以及解决方式 在团队开发过程中个成员合作方式 遇到问题的解决方式 css命名冲突 http和https http
  • PyCharm使用教程(详细版 - 图文结合)

    目录 一 创建项目 二 运行 三 错误提示 四 安装三方包 PyCharm的使用贯穿整个Python的学习 所以单独拿出来出教程不合适 说多了对于新手来说也还是不明白 这里我们先从学习开始前大家需要用到PyCharm的一些功能讲起 后面的p
  • PHP实现用户登录注册(详细教程)

    教程前先给大家看看小编的实现成果吧 图1 图2 图3 教程 实现这个功能我们需要五个php文件 login php 登录界面 如图2
  • unity通过全局事件对项目进行解耦

    一个类要是想调用另一个类的方法 例如A想调用B的方法 方式一 引用 最简单的方式是A持有一个B类的引用 即A拥有一个B的成员对象 方式二 设计模式 中介者模式 或者A和B同属于一个对象C 通过对象C调用对方 中介者模式 例如QQ群 A和B互
  • 如何将二维数组作为函数的参数传递

    今天写程序的时候要用到二维数组作参数传给一个函数 我发现将二维数组作参数进行传递还不是想象得那么简单里 但是最后我也解决了遇到的问题 所以这篇文章主要介绍如何处理二维数组当作参数传递的情况 希望大家不至于再在这上面浪费时间 正文 首先 我引
  • android 弹出式对话框实现自定义菜单栏

    第一步 创建菜单项实体类 Menu 菜单栏选项类 public class Menu 标题 private String title Id 图片Id private int iconID public Menu String title i
  • OpenWrt安装使用教程(x86/64架构)

    什么是OpenWrt 官网简介 OpenWrt项目是一个针对嵌入式设备的Linux操作系统 OpenWrt不是一个单一且不可更改的固件 而是提供了具有软件包管理功能的完全可写的文件系统 这使您可以从供应商提供的应用范围和配置中解脱出来 并且
  • springboot 实现权限管理(一)

    一 背景 1 为什么进行权限管理 生活在形形色色的世界之中 我们各自扮演着各自的角色 拥有不同的权利和义务 映射在计算机系统之中 也一样需要 角色 权限 来进行对用户的分类 限制访问资源 保证资源地合理被使用 使人各司其职 2 应用场景 假
  • 如何生成静态页面的五种方案

    方案1
  • 数据挖掘流程-HCIE-BigData

    机器学习流程 机器学习流程 1 了解需求 确认目标 2 获取数据 3 审阅数据 4 数据分析 4 1 统计分析 4 2 相关性分析 4 3 图形分析 1 散点图 2 热力图 3 直方图 4 统计图 5 柱状图 6 饼图 7 综合绘图 5 数
  • java自动化测试语言高级之泛型

    java自动化测试语言高级之泛型 文章目录 java自动化测试语言高级之泛型 Java 泛型 Java 泛型 Java 泛型 generics 是 JDK 5 中引入的一个新特性 泛型提供了编译时类型安全检测机制 该机制允许程序员在编译时检
  • element plus 使用 icon 图标(两种方式)

    前提 Element UI 和 Element Plus 对 Icon 图标 的使用方式改变较大 在此记录 Element UI Icon 图标 使用CSS 类名方式 Element Plus Icon 图标 使用Vue 组件方式 安装 n
  • -128的补码及原码、反码、补码

    一 原码 一个字节占8位 一个字长为n的机器数能表示不同的数字的个数是固定的2 n个 n 8时2 n 256 用来表示有符号数 数的范围就是 2 n 1 2 n 1 1 n 8时 这个范围就是 128 127 用来表示无符号数 就不需要用一
  • 【异步编程】1. 异步编程的实现方式

    总体介绍 回调函数的方式 使用回调函数的方式有一个缺点是 多个回调函数嵌套的时候会造成回调函数地狱 上下两层的回调函数间的代码耦合度太高 不利于代码的可维护 Promise的方式 使用 Promise 的方式可以将嵌套的回调函数作为链式调用
  • 指针、引用与const指针

    指针与引用 1 综述 2 指针 2 1 什么是指针 2 2 代码示例1 2 3 代码示例2 3 引用 3 1 什么是引用 3 2 引用的代码示例 4 const 迷惑 鄙人的C 是在网易云课堂上跟着吕鑫老师学的 课程名字叫 C语言 C 数据
  • echarts人员关系网络图,张三朋友的朋友扩散图

    我的另外一个博客echarts实现关系网络图 单个节点可无限扩散 方便实用易懂 就是通过下方这个改的 所以这个是最原版的代码 大家可以参考一下 其实意思很明了 主人公张三是中心点 第二层就是展示他的朋友 第三层是朋友的朋友 第四层循环下去
  • 【Qt】报错error: undefined reference to `vtable for的解决方法

    1 问题描述 编译Qt程序时 在某个类构造函数定义处报错 error undefined reference to vtable for 2 原因分析 导致错误信息的原因是 子类没有实现父类的纯虚函数 在Qt中 首先要想到的是在一个类中添加
  • crontab定时删除tomcat日志

    一 前言 前面一篇文章讲了在linux环境中按日期切割tomcat生成的Catalina out日志 虽然日志切割了 但是生成的日志文件还是会占用磁盘空间 积累一段时间还是会造成磁盘空间不够用的情况 之前的做法是手动的删除tomcat日志