Linux设置jar包定时日志分割
1.编写定时分割日志脚本
#!/bin/bash
#filename: split-log.sh
#desc: 正式环境切割日志
#author: lyt
#date: 2022-5-15
## 切割时间 分别对应年月日时分
SPLIT_DATE=$(date +%Y-%m-%d-%H:%M)
## 复制日志文件到指定文件夹中
cp /日志存放路径/日志文件名.log /存放日志目标文件夹/日志文件名_${SPLIT_DATE}.log
## 清空原始日志文件,“>”是某文件输入,“>>”是想某文件末尾追加,注意区别
echo "" > /日志存放路径/日志文件名.log
2.给脚本可执行的权限
chmod +X split-log.sh (根据自己定义的脚本名称)
3.创建crontab定时任务
输入crontab –e
时程表的格式如下 :
f1 f2 f3 f4 f5 program
- 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
- 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
- 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
- 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
- 当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推
使用crontab设置定时任务,使用命令crontab -e进入编辑页面,键入下面的内容。
0 5 * * * {shell脚本路径}/split-log.sh
1 5 * * * {shell脚本路径}/delete-log.sh
这里代码的意思是,每天的早上5点执行切割日志的shell脚本,五点零一分执行清除日志文件的shell脚本。
1.\* * * * * {执行命令}
2.第一个星号是指分钟,第二个是小时,第三个是天,第四个是月,第五个是星期`
3.0 6 1 * * {执行命令}
4.这里就是每月一号6点执行某命令
最后,可以使用crontab -l命令查看保存的任务。
本章博客难免有些不足,恳请各位大佬不吝赐教!(╹▽╹)