系统在服务器上运行时,会产生大量的日志,每天产生的日志量达到几个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`.log2.使用定时器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分时,就会自动去压缩昨天的日志文件,并且把原来的日志文件删除。