使用shell脚本对日志文件进行定时压缩

前端之家收集整理的这篇文章主要介绍了使用shell脚本对日志文件进行定时压缩前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

系统在服务器上运行时,会产生大量的日志,每天产生的日志量达到几个G,甚至几十个G,这样磁盘空间很快就会满,系统也就挂掉了,所以需要对日志文件进行压缩,压缩之后的日志文件通常只有原文件十分之一,甚至更少。

下面将详细介绍在LINUX中使用shell脚本对日志文件进行定时压缩的过程。

1.编写shell脚本

对目录/local/logs下面的日志文件catalina.log按天进行压缩,压缩完后删除原日志文件

比如昨天的日志文件是/local/logs/catalina.2017-10-11.log,压缩完后是/local/catalina.2017-10-11.tar.gz,并且把昨天的日志文件删除

/local/backup.sh

#!/bin/bash
cd /local/logs
tar -zcvf /local/catalina.`date -d yesterday +%F`.tar.gz catalina.`date -d yesterday +%F`.log
rm -rf catalina.`date -d yesterday +%F`.log
2.使用定时器crontab执行

每天0点30分执行脚本/local/backup.sh

[root@localhost local]# crontab -e

按insert键,输入以下内容

30 0 * * * /local/backup.sh
按ESC,输入:wq,这样就把执行计划添加到crontab中,可以查看添加结果。
[root@localhost local]# crontab -e
crontab: installing new crontab
[root@localhost local]# crontab -l
30 0 * * * /local/backup.sh
这样每天0点30分时,就会自动去压缩昨天的日志文件,并且把原来的日志文件删除

猜你在找的Bash相关文章