linux脚本加定时任务自动整理日志

这个操作主要是对一些很老的程序没有做每天日志存档并自动删除历史log功能,运维人员采用的一个对整个控制台log进行每天存储。

具体需求

  1. 现有一个应用程序每天产生大量log需要经常手动清理磁盘,但是又需要保存每天的日志方便查找问题
  2. 通过linux脚本加定时任务的方式来对每天产生的info.log进行压缩存档,并删除历史info.log,然后重启程序,这样又会重新产生info.log,然后每天循环该操作就可以实现功能
  3. 对压缩存档的3天前的log进行删除防止磁盘爆满

脚本编写

文件名为:compressinfo.sh

#!/bin/bash
#你的应用程序的根目录
basedir=/home/dev/app_pro
#当前时间yyyy-MM-dd
date_day=`date +%Y-%m-%d`
#对每天产生的info.log进行压缩处理并以时间方式存档,并删除当前info.log
tar -zcvPf $basedir/log/${date_day}_info.log.tar.gz $basedir/log/info.log --remove-files
#重启应用程序,这个脚本需要自己实现
$basedir/start.sh
#对大于等于3天前的压缩存档的文件进行删除操作
find $basedir/log/* -name "*_info.log.tar.gz" -mtime +2 -exec rm {} \;

定时任务编写

执行sudo crontab -e进入定时任务编辑界面:

0 5 */1 * * /home/dev/app_pro/compresslog.sh >> /home/dev/app_pro/log/compressinfo.log 2>> /home/dev/app_pro/log/compresserror.log

上述脚本表示每天早上五点执行我们上面编写的compresslog.sh脚本进行日志压缩整理,这样就能实现每天都有一个压缩日志存档,并且会自动删除3天前历史存档日志。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值