定时切割jar包日志并清理

1.编写定时切割日志的shell脚本

#!/bin/bash

#filename: split-log.sh
#desc: 切割日志
#author: Hyy
#date: 2021-10-20

## 切割时间 分别对应年月日
SPLIT_DATE=$(date +%y%m%d)

## 复制日志文件到指定文件夹history中
cp {日志存放路径}/{日志文件名}.log {目标文件夹}/history/{日志文件名}.${SPLIT_DATE}.log

## 清空原始日志文件,“>”是某文件输入,“>>”是想某文件末尾追加,注意区别
echo "" > {日志存放路径}/{日志文件名}.log

2.编写删除过期日志的shell脚本

#!/bin/bash

## filename: delete-log.sh
## desc: 定时清理日志文件
## author: hyy
## date: 2021-10-22

## 从历史日志存放位置中找到超过三天的日志文件,将其移到回收站
find {历史日志存放路径}/history/ -mtime +3 -name "*.log" | xargs -i mv {} {回收站路径}/recycleBin/

## 删除回收站中的“.log”结尾的日志文件
find {回收站路径}/recycleBin/ -name "*.log" -exec rm -rf {} \

对这些命令不熟悉可以通过 {command} --help查看详细介绍。

3.给脚本可执行的权限

chmod +X split-log.sh/delete-log.sh

4.设置定时任务

使用crontab设置定时任务,使用命令crontab -e进入编辑页面,键入下面的内容。

0 5 * * * {shell脚本路径}/split-log.sh
1 5 * * * {shell脚本路径}/delete-log.sh

这里代码的意思是,每天的早上5点执行切割日志的shell脚本,五点零一分执行清除日志文件的shell脚本。

* * * * * {执行命令}
## 第一个星号是指分钟,第二个是小时,第三个是天,第四个是月,第五个是星期
0 6 1 * * {执行命令}
## 这里就是每月一号6点执行某命令

可以使用crontab -l命令查看保存的任务。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值