以tomcat为例 服务器日志文件都写在logs目录下catalina.out 文件中,随着时间会变得越来越大。为了便于定位某一时间段的日志情况现在需要对日志按天备份下。本人初学小白记录下。
首先通过linux 自动任务实现 创建cautolog.sh文件 这文件中先确定下需要做的事情
1 备份日志文件 复制catalina.out 到指定的备份路径 /备份文件_时间.out
2 重定义日志文件为空
3 压缩日志文件 把分割的日志备份成zip格式 因为是第二天0点备份前一天的所以时间-1
4 删除备份文件 删除备份的日志,只留下压缩后的备份日志
以上是思路 实际 cautolog.sh 如下
#!/bin/sh
#备份日志文件 复制catalina.out 到指定的备份路径 /备份文件_时间.out
cp tomcat/logs/catalina.out /指定的备份路径/catalina_`date -d '-1 days' +%Y%m%d`.out
#重定义日志文件为空
echo "" > tomcat/logs/catalina.out
#压缩日志文件 把分割的日志备份成zip格式
zip /指定的备份路径/catalina_`date -d '-1 days' +%Y%m%d`.zip /指定的备份路径/catalina_`date -d '-1 days' +%Y%m%d`.out
#删除备份文件 删除备份的日志,只留下压缩后的备份日志
rm /指定的备份路径/catalina_`date -d '-1 days' +%Y%m%d`.out
echo $(date)
执行自动任务 遇到的问题
crontab -l 查询当前定时任务 cront