第一步:
在你服务器创建或者找个文件夹用来存放脚本。 我在 /opt/sh/ 文件夹下创建的
第二步:
创建sh脚本,如auto-cut-log.sh
# 复制日志文件内容到新的文件中
cp /opt/springboot/springboot-core-log.txt /opt/logback/logs/springboot_`date -d '-1 days' +%Y%m%d`.out
# 清空tomcat默认日志输出文件
echo "" > /opt/springboot/springboot-core-log.txt
# 如果有多个tomcat,复制一份即可
#cp /opt/softinstall/tomcat_gxj_02/logs/catalina.out /opt/softinstall/tomcat_gxj_02/logs/catalina_`date -d '-1 days' +%Y%m%d`.log
#echo "" > /opt/softinstall/tomcat_gxj_02/logs/catalina.out
# 查找并清理不需要的文件
find /opt/logback/logs/ -mtime +10 -name "*" -exec rm -rf {} \;
第三步
给sh脚本Chrom权限
chmod -R 777 /opt/sh/auto-cut-log # 授权,便于执行脚本
第四步
备份元日志
cp /opt/springboot/springboot-core-log.txt
/opt/springboot/springboot-core-log.back.txt # 备份 springboot-core-log.back.txt 为备份之后的文件
第五步
执行编写的切割脚本
./auto-cut-log.sh
执行完成后,如果原来的日志被切割了,并且在指定的目录下也生成了
[root@iZbp18nyz28va2zwadft2qZ logs]# ll
total 252
-rw-r--r-- 1 root root 11497263 Mar 20 09:14 springboot_20200319.out
[root@iZbp18nyz28va2zwadft2qZ logs]#
那么说明就切割成功了
第六步
把sh脚本添加到系统的定时任务下
crontab -l # 查看当前是否存在任务
crontab -e # 编辑 指定执行哪个脚本以及执行时间
0 0 * * * /opt/sh/auto-cut-log.sh # 每日凌晨执行分割日志脚本
文件添加成功后,在用crontab-l看下是否有添加成功。成功就是这样的 [root@iZbp18nyz28va2zwadft2qZ logs]# crontab -l 0 0 * * * /opt/sh/auto-cut-log.sh