linux用shell脚本定时清理tomcat日志

一:编写shell脚本

[root@localhost home]# vim clean_log.sh

vim平时我们是用于打某个文件,但当没有这个文件的时候回直接创建一个这个文件

添加内容如下:

# 删除 /usr/local/cci/safety-tomcat/logs/下30天前,文件名称包含"201"的logs
find /usr/local/cci/safety-tomcat/logs/ -mtime +30 -name "*201?*" -exec rm -rf {} \;

# 清空 /usr/local/cci/safety-tomcat/logs/下的catalina.out

echo " " > /usr/local/cci/safety-tomcat/logs/catalina.out

给该shell附全部权限:

[root@localhost home]# chmod 755 clean_log.sh

备注chmod 755  意思是该登录用户、他所在的组织和其他人都有最高权限,该文件可读可写可执行。

附权限后该shell脚本会是绿色的,代表可执行文件,其他文件颜色代表什么如下:

白色:表示普通文件;蓝色:表示目录;绿色:表示可执行文件;红色:表示压缩文件;浅蓝色:链接文件;红色闪烁:表示链接的文件有问题;黄色:表示设备文件;灰色:表示其它文件;

二:设置定时器执行clean_log.sh脚本

[root@localhost home]# crontab -e

添加以下内容

0 0 1 * * /home/clean_log.sh

三:重启定时任务

[root@localhost home]# service crond restart

其他2个命令:

service crond start //启动服务
service crond stop //关闭服务

四:使用 crontab -l 命令查看是否设置成功

[root@localhost home]# crontab -l

0 0 1 * * /home/clean_log.sh

通常执行脚本文件的方式有三种方式如下:

1. bash 脚本文件名称

2. sh 脚本文件名称

3. /路径/脚本文件名称

注意:1和2 通过命令执行脚本,不需要赋予文件权限,但是第3种需要先执行 chmod 755 脚本文件 进行赋权

crontab的常用命令

通过crontab可以设定程序的执行时间,如让程序在每天的6点,或者每个月最后一天早上6点执行。
crontab -l 列出时间;
crontab -e编辑时间;
crontab -d删除时间;
 
crontab文件的格式是:M H D m d CMD。
一个6个字段,其中最后一个CMD就是所要执行的程序,如haha.sh。
M:分钟(0-59)
H:小时(0-23)
D:日期(1-31)
m:月份(1-12)
d:一个星期中的某天(0-6,0代表周日)
 
这5个时间字段用空格隔开,其值可以是一个数字,也可以用逗号隔开的多个数字(或其他如","或者"/") ,如果不需设置,则默认为“*”。
特别注意:linux中的crontab中的cron表达式和我们idea里面定时器用的cron表达式是不一样的。我们代码里面定时器用的cron表达式可以直接用cron表达式生成器生成,但是会有6位,而crontab的表达式只有5位,因为linux中crontab的cron表达式是没有秒的。cron表达式生成器会生成?号,而linux中crontab的cron表达式是不允许?号的。如果大家不想根据上面的公式自己去写,可以用cron表达式生成器生成。但是生成后的表达式把第一位去掉,中间要有?就换成*。这个前提是生成的表达式中是没有字母的,要有字母的话(很少很少),那还是自己组装吧。

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值